Pacote io.realm

Classe RealmMap<K,V>

  • Parâmetros do tipo:
    K - o tipo das chaves armazenadas neste mapa
    V - o tipo dos valores armazenados neste mapa
    Todas as interfaces implementadas:
    io.realm.internal.Freezable<RealmMap<K,​V>>, io.realm.internal.ManageableObject , Map<K,​V>
    Subclasses diretas conhecidas:
    RealmDictionary

    public abstract class RealmMap<K,​V>
    extends Object
    implements Map<K,​V>, io.realm.internal.ManageableObject, io.realm.internal.Freezable<RealmMap<K,​V>>
    O RealmMap é usado para mapear chaves para valores. Um RealmMap não pode conter chaves duplicadas e cada chave pode mapear para, no máximo, um valor. Um RealmMap não pode ter null chaves, mas pode ter null valores.

    Da mesma forma que RealmLists, um RealmDictionary pode operar nos modos managed e não managed. No modo managed, um RealmDictionary mantém todo o seu conteúdo dentro de um Realm, enquanto no modo não gerenciado ele funciona como um HashMap.

    Os managed RealmDictionaries só podem ser criados pelo Realm e atualizarão automaticamente seu conteúdo sempre que o Realm subjacente for atualizado. Os managed RealmDictionary só podem ser acessados usando o getter que ponto para um campo RealmDictionary de um RealmObject.

    RealmDictionaries não managed podem ser criados pelo usuário e podem conter RealmObjects managed e não managed. Isso é útil ao lidar com desserializadores JSON como GSON ou outras estruturas que injetam valores em uma classe. Unmanaged RealmMaps can be added to a Realm using the Realm.copyToRealm(Iterable, ImportFlag...) method.

    • Detalhes do método

      • isManaged

        public boolean isManaged()
        Especificado por:
        isManaged na interface io.realm.internal.ManageableObject
      • é válido

        public boolean isValid()
        Especificado por:
        isValid na interface io.realm.internal.ManageableObject
      • IsFrozen

        public boolean isFrozen()
        Especificado por:
        isFrozen na interface io.realm.internal.ManageableObject
      • Tamanho

        public int size()
        Especificado por:
        size na interface Map<K,​V>
      • isEmpty

        boolean público isEmpty()
        Especificado por:
        isEmpty na interface Map<K,​V>
      • obter

        obtenção de V público (chave do objeto )
        Especificado por:
        get na interface Map<K,​V>
      • incluir

        colocaçãode V pública (chaveK , valor
                     de V nulo )
        Especificado por:
        put na interface Map<K,​V>
      • remover

        remoção de V pública (chave de objeto )
        Especificado por:
        remove na interface Map<K,​V>
      • putAll

        public void putAll​(Map<? extends K,​? extends V> m)
        Especificado por:
        putAll na interface Map<K,​V>
      • Limpar

        public void clear()
        Especificado por:
        clear na interface Map<K,​V>
      • conjunto de chaves

        public Set<K> keySet()
        Especificado por:
        keySet na interface Map<K,​V>
      • congelar

        public RealmMap<K,​V> freeze()
        Especificado por:
        freeze na interface io.realm.internal.Freezable<K>
      • addChangeListener

        public void addChangeListener​(MapChangeListener<K,​V> listener)
        Adiciona um ouvinte de alteração a este RealmMap.

        Registrar um ouvinte de alterações não impedirá que o RealmMap subjacente seja coletado o lixo. Se o RealmMap for coletado como lixo, o ouvinte de alterações deixará de ser acionado. Para evitar isso, mantenha uma referência forte pelo tempo apropriado, por exemplo, em uma variável de classe.

         
         public class MyActivity extends Activity {
        
             private RealmMap<String, Dog> dogs; // Strong reference to keep listeners alive
        
             \@Override
             protected void onCreate(Bundle savedInstanceState) {
               super.onCreate(savedInstanceState);
               dogs = realm.where(Person.class).findFirst().getDogs();
               dogs.addChangeListener(new MapChangeListener<String, Dog>() {
                   \@Override
                   public void onChange(RealmMap<String, Dog> map, MapChangeSet<String> changeSet) {
                       // React to change
                   }
               });
             }
         }
         
         
        Parâmetros:
        listener - o ouvinte de alterações a ser notificado.
        Lançamentos:
        IllegalArgumentException - se o ouvinte de alterações for null.
        IllegalStateException - se você tentar adicionar um ouvinte de um tópico que não seja do Looper ou IntentService .
      • addChangeListener

        public void addChangeListener​(RealmChangeListener<RealmMap<K,​V>> listener)
        Adiciona um ouvinte de alteração a este RealmMap.

        Registrar um ouvinte de alterações não impedirá que o RealmMap subjacente seja coletado o lixo. Se o RealmMap for coletado como lixo, o ouvinte de alterações deixará de ser acionado. Para evitar isso, mantenha uma referência forte pelo tempo apropriado, por exemplo, em uma variável de classe.

         
         public class MyActivity extends Activity {
        
             private RealmMap<String, Dog> dogs; // Strong reference to keep listeners alive
        
             \@Override
             protected void onCreate(Bundle savedInstanceState) {
               super.onCreate(savedInstanceState);
               dogs = realm.where(Person.class).findFirst().getDogs();
               dogs.addChangeListener(new RealmChangeListener<RealmMap<String, Dog>>() {
                   \@Override
                   public void onChange(RealmMap<String, Dog> map) {
                       // React to change
                   }
               });
             }
         }
         
         
        Parâmetros:
        listener - o ouvinte de alterações a ser notificado.
        Lançamentos:
        IllegalArgumentException - se o ouvinte de alterações for null.
        IllegalStateException - se você tentar adicionar um ouvinte de um tópico que não seja do Looper ou IntentService .
        Veja também:
        RealmChangeListener
      • removeChangeListener

        public void removeChangeListener​(MapChangeListener<K,​V> listener)
        Remove o ouvinte de alterações especificado.
        Parâmetros:
        listener - o ouvinte de alterações a ser removido.
        Lançamentos:
        IllegalArgumentException - se o ouvinte de alterações for null.
        IllegalStateException - se você tentar remover um ouvinte de um thread não loop de eventos.
      • Remover todos os ouvintes de alterações

        public void removeAllChangeListeners()
        Remove todos os ouvintes de alterações definidos pelo usuário.
        Lançamentos:
        IllegalStateException - se você tentar remover ouvintes de um thread que não seja do loop de eventos.
        Veja também:
        RealmChangeListener