Backlinks

Diversão <t : TypedRealmObject> EmbeddedRealmObject.Backlinks(sourceProperty: KProperty1<T, *>, sourceClass: KClass<T>): EmbeddedBacklinksDelegate<t>

Define um backlink que representa um relacionamento inverso de um para um entre um EmbeddedRealmObject e um TypedRealmObject.

Você não pode modificar diretamente o backlink em si, ele deve ser feito no objeto ponteiro. Exemplo de uso:

class Town : EmbeddedRealmObject {
val county: County by backlinks(County::towns)
}

class County : RealmObject {
val towns: RealmList<Town> = realmListOf()
}

Porque uma classe EmbeddedRealmObject pode ser referenciada por TypedRealmObject diferente do definido pelo backlink. Nesses casos, uma exceção seria lançada informando que o objeto que aponta não poderia não ser capaz de ser resolvido em um valor T.

Return

delegado para a collection de backlink.

Parâmetros

t

tipo de objeto que referencia o modelo.

Propriedade de origem

propriedade que referencia o modelo.

Lança

se o backlink não for do tipo T


Retorna um BacklinksDelegate que representa o relacionamento inverso entre dois an EmbeddedRealmObject e um TypedRealmObject.

Encapsulador de conveniência reificado para EmbeddedRealmObject.backlinks.


Diversão <t : TypedRealmObject> RealmObject.Backlinks(sourceProperty: KProperty1<T, *>, sourceClass: KClass<T>): BacklinksDelegar<t>

Define uma collection de backlink que representa o relacionamento inversa entre dois modelos de Realm. Qualquer relacionamento direto, de um para um ou de um para muitos, pode ser revertido pelos backlink.

Você não pode adicionar ou remover itens diretamente de uma collection de backlink. A collection se atualiza automaticamente quando os relacionamento são alterados.

Backlinks para relações um-para-um podem ser criados nas propriedades RealmObject :

class Town {
var county: County? = null
}

class County {
val towns: RealmResults<Town> by backlinks(Town::county)
}

Os backlink para relacionamento um-para-muitos podem ser criados na propriedade RealmList, RealmSet ou RealmDictionary :

class Parent : RealmObject {
var childrenList: RealmList<Child> = realmListOf()
var childrenSet: RealmSet<Child> = realmSetOf()
var childrenDictionary: RealmSet<Child?> = realmDictionaryOf() // Nullability of Child? is required by RealmDictionary
}

class Child : RealmObject {
val parentsFromList: RealmResults<Parent> by backlinks(Parent::childrenList)
val parentsFromSet: RealmResults<Parent> by backlinks(Parent::childrenSet)
val parentsFromDictionary: RealmResults<Parent> by backlinks(Parent::childrenDictionary)
}

Querying inverse relationship is like querying any RealmResults. Isso significa que um relacionamento inverso não pode ser nulo, mas pode ser vazio (o comprimento é 0). É possível fazer query de campos na classe que contém o campo backlink. Isso é equivalente a vincular query.

Como as listas de Realm permitem elementos duplicados, os backlink podem conter referências duplicadas quando a propriedade de destino é uma lista de Realm e contém várias referências para o mesmo objeto.

Return

delegado para a collection de backlink.

Parâmetros

t

tipo de objeto que referencia o modelo.

Propriedade de origem

propriedade que referencia o modelo.


in-line Diversão <t : TypedRealmObject> RealmObject.Backlinks(sourceProperty: KProperty1<T, *>): BacklinksDelegar<t>

Retorna um BacklinksDelegate que representa o relacionamento inverso entre dois modelos de Realm.

Encapsulador de conveniência reificado para RealmObject.backlinks.