Docs Menu
Docs Home
/ /
io.realm

Enum ImportFlag

java.lang.Object
io.realm.ImportFlag

Esta clase describe cómo se guardan los datos en Realm al guardar objetos completos.

Tip

Constante de enumeración y descripción

CHECK_SAME_VALUES_BEFORE_SET

Con esta bandera habilitada, los campos no se escribirán en el archivo Realm si contienen el mismo valor que el valor ya presente en el Realm.

Modificador y Tipo
Método y descripción
  • Métodos heredados de la clase java.lang.Object: getClass , hashCode , equals , clone , toString , notify , notifyAll , wait , wait , wait , finalize

  • Métodos heredados de la clase java.lang.Enum : name , ordinal , toString , equals , hashCode , clone , compareTo , getDeclaringClass , valueOf , finalize

ImportFlagfinal estático público

Con esta bandera habilitada, los campos no se escribirán en el archivo Realm si contienen el mismo valor que el valor ya presente en el Realm. Para los Realms locales esto solo tiene un impacto en los oyentes de cambios que no informarán cambios en aquellos campos que no fueron escritos.

En el caso de los reinos sincronizados, esto también afecta al servidor, que tendrá un rendimiento mejorado ya que habrá menos cambios para cargar y fusionar en el reino del servidor.

También afecta la forma en que el servidor fusiona los cambios de diferentes dispositivos. Realm utiliza un enfoque de "la última escritura prevalece" al fusionar campos individuales en un objeto, por lo que si un campo no se escribe, se considerará "más antiguo" que otros campos modificados.

P.ej:

  1. El servidor comienza con (Campo A = 1, Campo B = 1)

  2. El dispositivo 1 escribe (Campo A = 2, Campo B = 2).

  3. El dispositivo 2 guarda (Campo A = 3, Campo B = 1) pero ignora (Campo B = 1), porque ese es el valor en el archivo Realm en este punto.

  4. El dispositivo 1 carga sus cambios al servidor, creando el servidor (Campo A = 2, Campo B = 2). Luego, el dispositivo 2 carga sus cambios. Debido a las victorias de última escritura, la versión del servidor ahora es (Campo A = 3, Campo B = 2).

Este suele ser el comportamiento deseado ya que el objeto final es el resultado combinado de los últimos cambios de ambos dispositivos; sin embargo, si todos los campos de un objeto se consideran una unidad atómica, entonces este indicador no se debe configurar, ya que garantizará que todos los campos estén configurados y, por lo tanto, tengan la misma "antigüedad" cuando se envíen datos al servidor.

public static ImportFlag valueOf (
String name
)
public static ImportFlag values ()

Volver

Fila pendiente congelada

En esta página