io.realm.annotations
Interfaces implementadas:
Esta anotação marcará o campo ou elemento em io.realm.RealmList como não anulável.
Quando um campo do tipo Boolean, Byte, Short, Integer, Long, Float, Double, String, byte[], Date é anotado com Obrigatório , ele não pode ser definido como null e o Realm lançará uma exceção se isso acontecer.
Campos com tipos primitivos são implicitamente exigidos. Observe que String não é um tipo primitivo, portanto, em Java, ele é anulável por padrão, a menos que esteja marcado como @Required . Em Kotlin, o inverso é verdadeiro, portanto, um String não é nulo. Para especificar uma cadeia anulável em Kotlin, você deve usar String? .
Se esta anotação for utilizada em um RealmList , a anotação será aplicada aos elementos dentro da lista e não à própria lista. A lista em si é sempre não nula. Isso significa que uma lista marcada com esta anotação nunca tem permissão para manter null valores, mesmo que o tipo de dados permita isso. O Realm lançará uma exceção se você tentar armazenar valores nulos em uma lista marcada com @Required .
Essa anotação não pode ser usada em um RealmAny , pois o valor interno de um campo RealmAny é sempre anulável. O Realm lançará uma exceção se você tentar marcar um RealmAny como @Required .
A compilação falhará se a anotação obrigatória for colocada em um RealmList contendo referências a outros objetos do Realm .