パッケージ io.realm.annotations

必須の注釈タイプ


  • @Retention(RUNTIME)
    @Target(FIELD)
    public @interface Required
    この注釈により、 io.realm.RealmListのフィールドまたは要素が null 不可としてマークされます。

    Boolean, Byte, Short, Integer, Long, Float, Double, String, byte[], DateのフィールドにRequiredで注釈が付けられている場合、 nullに設定することはできません。その場合、Realm は例外をスローします。

    プリミティブ型を持つフィールドは暗黙的に必須です。 ただし、 Stringはプリミティブ型ではないため、Java では\@Requiredとマークされていない限り、デフォルトで null 可能です。 Kotlin ではその逆が true であるため、 Stringは null 以外になります。 で null 可能なstringKotlin String?を指定するには、 を使用する必要があります。

    この注釈をRealmListで使用する場合、注釈はリスト自体ではなく、リスト内の要素に適用されます。 リスト自体は常に null 以外です。 つまり、この注釈でマークされたリストでは、データ型で許可されている場合でも、 null値を保持することは 許可されません 。 \@Requiredとマークされたリストに null 値を保存しようとすると、Realm は例外をスローします。

    この注釈は、RealmAny フィールドの内部値は常に null 可能なため、 RealmAnyでは使用できません。 RealmAny\@Requiredとしてマークしようとすると、Realm は例外をスローします。

    Requiredアノテーションに他の Realm オブジェクトへの参照を含むRealmListが付けられている場合、コンパイルは失敗します。