Class SyncConfiguration


  • public class SyncConfiguration
    extends RealmConfiguration
    Um SyncConfiguration é usado para configurar um reconhecimento de data center Realm que pode ser sincronizado entre dispositivos usando o MongoDB Realm.

    Um User válido é necessário para criar um SyncConfiguration. Consulte Credentials e App.loginAsync(Credentials, App.Callback) para obter mais informações sobre como obter um objeto de usuário.

    Um mínimo SyncConfiguration pode ser encontrado abaixo.

     
     App app = new App("app-id");
     User user = app.login(Credentials.anonymous());
     SyncConfiguration config = SyncConfiguration.defaultConfiguration(user, "partition-value");
     Realm realm = Realm.getInstance(config);
     
     

    Os Realms sincronizados suportam apenas migrações aditivas que podem ser detectadas e executadas automaticamente, portanto, as seguintes opções do construtor não são acessíveis em comparação com um Realm normal:

    • deleteRealmIfMigrationNeeded()
    • migration(Migration)
    Os Realms sincronizados são criados usando Realm.getInstance(RealmConfiguration) e Realm.getDefaultInstance() como Realms não sincronizados comuns.
    Veja também:
    Os Docs para obter mais informações sobre sincronização.
    • Detalhes do método

      • forRecuperação

        public static RealmConfiguration forRecovery​(String canonicalPath,
                                                     @Nullable
                                                     byte[] encryptionKey,
                                                     @Nullable
                                                     Object... modules)
        Retorna um RealmConfiguration apropriado para abrir um Realm somente leitura e não sincronizado para recuperar quaisquer alterações pendentes. Isso é útil ao tentar abrir um Realm de backup/recuperação (após um reinício do cliente).
        Parâmetros:
        canonicalPath - o caminho absoluto para o Arquivo de Realm definido por esta configuração.
        encryptionKey - a chave usada para criptografar/descriptografar o Arquivo de Realm.
        modules - se especificado, restringirá o esquema Realm ao módulo fornecido.
        Retorna:
        RealmConfiguration que pode ser usado offline
      • defaultConfig

        public static SyncConfiguration defaultConfig​(User user)
        Retorna uma configuração padrão do Flexible Sync para o usuário fornecido.
        Parâmetros:
        user - O usuário que será usado para acessar o aplicativo Realm.
        Retorna:
        a configuração padrão do Flexible Sync para o usuário específico.
      • defaultConfig

        public static SyncConfiguration defaultConfig​(User user,
                                                      @Nullable
                                                      String partitionValue)
        Retorna uma configuração padrão de sincronização baseada em partição para o usuário fornecido e o valor da partição.
        Parâmetros:
        user - O usuário que será usado para acessar o aplicativo Realm.
        partitionValue - O valor da partição que identifica o Realm remoto que será sincronizado.
        Retorna:
        a configuração padrão para o usuário fornecido e o valor da partição.
      • defaultConfig

        public static SyncConfiguration defaultConfig​(User user,
                                                      @Nullable
                                                      Long partitionValue)
        Retorna uma configuração padrão de sincronização baseada em partição para o usuário fornecido e o valor da partição.
        Parâmetros:
        user - O usuário que será usado para acessar o aplicativo Realm.
        partitionValue - O valor da partição que identifica o Realm remoto que será sincronizado.
        Retorna:
        a configuração padrão para o usuário fornecido e o valor da partição.
      • defaultConfig

        public static SyncConfiguration defaultConfig​(User user,
                                                      @Nullable
                                                      Integer partitionValue)
        Retorna uma configuração padrão de sincronização baseada em partição para o usuário fornecido e o valor da partição.
        Parâmetros:
        user - O usuário que será usado para acessar o aplicativo Realm.
        partitionValue - O valor da partição que identifica o Realm remoto que será sincronizado.
        Retorna:
        a configuração padrão para o usuário fornecido e o valor da partição.
      • defaultConfig

        public static SyncConfiguration defaultConfig​(User user,
                                                      @Nullable
                                                      ObjectId partitionValue)
        Retorna uma configuração padrão de sincronização baseada em partição para o usuário fornecido e o valor da partição.
        Parâmetros:
        user - O usuário que será usado para acessar o aplicativo Realm.
        partitionValue - O valor da partição que identifica o Realm remoto que será sincronizado.
        Retorna:
        a configuração padrão para o usuário fornecido e o valor da partição.
      • defaultConfig

        public static SyncConfiguration defaultConfig​(User user,
                                                      @Nullable
                                                      UUID partitionValue)
        Retorna uma configuração padrão de sincronização baseada em partição para o usuário fornecido e o valor da partição.
        Parâmetros:
        user - O usuário que será usado para acessar o aplicativo Realm.
        partitionValue - O valor da partição que identifica o Realm remoto que será sincronizado.
        Retorna:
        a configuração padrão para o usuário fornecido e o valor da partição.
      • forRecuperação

        public static RealmConfiguration forRecovery​(String canonicalPath)
        Retorna um RealmConfiguration apropriado para abrir um Realm somente leitura e não sincronizado para recuperar quaisquer alterações pendentes. Isso é útil ao tentar abrir um backup/recuperação Realm (após um reinício do cliente). Observação: isso usará o módulo Realm padrão (composto de todos os RealmModel) e assumirá que nenhuma criptografia também deve ser usada.
        Parâmetros:
        canonicalPath - o caminho absoluto para o Arquivo de Realm definido por esta configuração.
        Retorna:
        RealmConfiguration que pode ser usado offline
      • getInitialSubscriptionsHandler

        public SyncConfiguration.InitialFlexibleSyncSubscriptions getInitialSubscriptionsHandler()
        Retorna o manipulador de assinatura inicial configurado para este Realm.
        Retorna:
        o manipulador costumava configurar assinaturas iniciais para esse domínio.
      • getUser

        utilizador público getUser ()
        Retorna o usuário.
        Retorna:
        o usuário.
      • getServerUrl

        URI pública getServerUrl()
        Retorna o URI do servidor para o MongoDB Realm remoto com o qual o Realm local está sincronizando.
        Retorna:
        URI identificando o MongoDB Realm com o qual este Realm local está sincronizado.
      • getErrorHandler

        public SyncSession.ErrorHandler getErrorHandler()
        Retorna o manipulador de erros para esta SyncConfiguration.
        Retorna:
        o manipulador de erros.
      • getSyncClientResetStrategy

        public SyncClientResetStrategy getSyncClientResetStrategy()
        Retorna a estratégia de reinício do cliente de sincronização para essa SyncConfiguration.
        Retorna:
        a estratégia de reinício do cliente de sincronização.
      • shouldDeleteRealmOnLogout

        public boolean shouldDeleteRealmOnLogout()
        Retorna true se o Arquivo de Realm precisar ser excluído assim que o User proprietário se desconectar.
        Retorna:
        true se o Arquivo de Realm tiver que ser excluído se o User se desconectar. false se o arquivo puder ficar para trás.
      • shouldWaitForInitialRemoteData

        public boolean shouldWaitForInitialRemoteData()
        Retorna true se o Realm baixar todas as alterações conhecidas do servidor remoto antes de ser aberto pela primeira vez.
        Retorna:
        true se todas as alterações remotas forem baixadas antes que o Realm possa ser aberto. false se o Realm puder ser aberto imediatamente.
      • getSessionStopPolicy

        public io.realm.internal.OsRealmConfig.SyncSessionStopPolicy getSessionStopPolicy()
        OBSERVAÇÃO: apenas para uso interno. Pode mudar sem aviso. Retorna a política de interrupção da sessão para esse Realm assim que o Realm for fechado.
        Retorna:
        a política de interrupção usada pela sessão depois que o Realm é fechado.
      • getUrlPrefix

        @Nullable
        public String getUrlPrefix()
        Retorna o prefixo da URL usado ao estabelecer uma conexão de sincronização com o servidor de Objeto de Realm.
      • getPartitionValue

        public BsonValue getPartitionValue()
        Retorna o valor em que este Realm é particionado. A chave de partição é uma propriedade definida no MongoDB Realm. Todas as classes com uma propriedade com este valor serão sincronizadas com o Realm.
        Retorna:
        o valor sendo usado pelo MongoDB Realm para dividir o MongoDB database do lado do servidor em Realms que podem ser sincronizados de forma independente.
        Lançamentos:
        IllegalStateException - se essa configuração for para um Realm configurado para Flexible Sync. Você pode usar isPartitionBasedSyncConfiguration() antes de chamar este método para verificar.
      • isFlexibleSyncConfiguration

        public boolean isFlexibleSyncConfiguration()
        Retorna se essa configuração é ou não para abrir um Realm configurado para Flexible Sync.
        Retorna:
        true se esta configuração for para um Flexible Sync Realm, false caso contrário.
      • isPartitionBasedSyncConfiguration

        public boolean isPartitionBasedSyncConfiguration()
        Retorna se essa configuração é ou não para abrir um Realm configurado para Sincronização baseada em partição.
        Retorna:
        true se esta configuração for para um Realm de sincronização baseada em partição, false caso contrário.