Tipo de anotação obrigatória
Nesta página
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 .