Docs Menu
Docs Home
/ /
io.realm

Clase RealmObjectSchema

java.lang.Object
io.realm.RealmObjectSchema

Clase para interactuar con el esquema de una clase RealmObject dada. Esto permite inspeccionar, añadir, eliminar o modificar los campos de la clase dada. Si este RealmObjectSchema se recupera de un RealmSchema inmutable, este también lo será.

Tip

  • io.realm.RealmMigration

Modificador y Tipo
Clase y descripción

public static interface

Modificador y Tipo
Método y descripción

Esquema de objeto realpúblico abstracto

Agrega un nuevo campo simple a la clase RealmObject.

Esquema de objeto realpúblico abstracto

String fieldName
)

Agrega un índice a un campo determinado.

Esquema de objeto realpúblico abstracto

String fieldName
)

Agrega una clave principal a un campo determinado.

Esquema de objeto realpúblico abstracto

Agrega un nuevo campo que hace referencia a un RealmDictionary con valores primitivos.

Esquema de objeto realpúblico abstracto

Agrega un nuevo campo que contiene un RealmDictionary con referencias a otras clases de modelo Realm.

Esquema de objeto realpúblico abstracto

String fieldName,
java.lang.Class<?> primitiveType
)

Agrega un nuevo campo que hace referencia a una RealmList con valores primitivos.

Esquema de objeto realpúblico abstracto

String fieldName,
RealmObjectSchema objectSchema
)

Agrega un nuevo campo que contiene una RealmList con referencias a otras clases de modelo Realm.

Esquema de objeto realpúblico abstracto

Agrega un nuevo campo que hace referencia a otro RealmObject.

Esquema de objeto realpúblico abstracto

String fieldName,
java.lang.Class<?> primitiveType
)

Agrega un nuevo campo que hace referencia a un RealmSet con valores primitivos.

Esquema de objeto realpúblico abstracto

String fieldName,
RealmObjectSchema objectSchema
)

Agrega un nuevo campo que contiene un RealmSet con referencias a otras clases de modelo Realm.

Devuelve el nombre de la clase RealmObject representada por este esquema.

conjunto público

Devuelve todos los campos de esta clase.

String fieldName
)

Devuelve el tipo utilizado por el motor de almacenamiento subyacente para representar este campo.

Devuelve el nombre del campo de clave principal.

booleanopúblico

String fieldName
)

Prueba si la clase tiene un campo definido con el nombre dado.

booleanopúblico

String fieldName
)

Comprueba si un campo determinado tiene un índice definido.

booleanopúblico

Comprueba si la clase tiene una clave principal definida.

booleanopúblico

Devuelve true si los objetos de este tipo se consideran "incrustados".

booleanopúblico

String fieldName
)

Comprueba si un campo determinado es nulo, es decir, si puede contener valores null.

booleanopúblico

String fieldName
)

Comprueba si un campo determinado es el campo de clave principal.

booleanopúblico

String fieldName
)

Comprueba si un campo determinado es obligatorio, es decir, no puede contener valores null.

Esquema de objeto realpúblico abstracto

String fieldName
)

Elimina un campo de la clase.

Esquema de objeto realpúblico abstracto

String fieldName
)

Elimina un índice de un campo determinado.

Esquema de objeto realpúblico abstracto

Elimina la clave principal de esta clase.

Esquema de objeto realpúblico abstracto

String currentFieldName,
String newFieldName
)

Cambia el nombre de un campo de un nombre a otro.

Esquema de objeto realpúblico abstracto

String className
)

Establece un nuevo nombre para esta clase RealmObject.

vacío público

boolean embedded
)

Convierte la clase para que sea embebida o no.

Esquema de objeto realpúblico abstracto

String fieldName,
boolean nullable
)

Establece un campo para que admita valores nulos, es decir, debe poder contener valores null.

Esquema de objeto realpúblico abstracto

String fieldName,
boolean required
)

Establece un campo como obligatorio, es decir, no se permite que contenga valores null.

Esquema de objeto realpúblico abstracto

Ejecuta una función de transformación en cada instancia RealmObject de la clase actual.

  • Métodos heredados de la clase getClasshashCodeequalsclonetoStringnotifynotifyAllwaitwaitwaitjava.lang.Object:,,,,,,,,,, finalize

public abstract RealmObjectSchema addField (
String fieldName,
)

Añade un nuevo campo simple a la clase RealmObject. El tipo debe ser compatible con Realm. Consulta RealmObject para ver la lista de tipos compatibles. Si el campo debe admitir null valores, utiliza el tipo en caja; por ejemplo, Integer.class en lugar int.class de.

Para agregar campos que hagan referencia a otros RealmObjects o RealmLists, utilice addRealmObjectField(String, RealmObjectSchema) o addRealmListField(String, RealmObjectSchema) en su lugar.

Parámetros

  • fieldName - nombre del campo a agregar.

  • fieldType - Tipo de campo a agregar. Consulte RealmObject para ver la lista completa.

  • attributes - conjunto de atributos para este campo.

Devuelve

El esquema actualizado.

Lanzamientos

public abstract RealmObjectSchema addIndex (
String fieldName
)

Añade un índice a un campo determinado. Esto equivale a añadir la anotación io.realm.annotations.Index al campo.

Parámetros

  • fieldName - campo al que agregar índice.

Devuelve

El esquema actualizado.

Lanzamientos

String fieldName
)

Añade una clave principal a un campo determinado. Esto equivale a añadir la anotación io.realm.annotations.PrimaryKey al campo. Además, esto también añade implícitamente la anotación io.realm.annotations.Index al campo.

Parámetros

  • fieldName - campo a establecer como clave principal.

Devuelve

El esquema actualizado.

Lanzamientos

String fieldName,
java.lang.Class<?> primitiveType
)

Añade un nuevo campo que hace referencia a un RealmDictionary con valores primitivos. Consulta RealmObject para ver la lista de tipos admitidos.

La nulabilidad de los elementos se define usando la clase correcta, Integer.class por ejemplo, en lugar int.class de. Alternativamente, se puede usar setRequired(String, boolean).

Ejemplo:

// Defines the dictionary of Strings as being non null.
RealmObjectSchema schema = schema.create("Person")
.addRealmDictionaryField("parentAndChild", String.class)
.setRequired("parentAndChild", true)

Si la lista contiene referencias a otras clases de Realm, utilice addRealmDictionaryField(String, RealmObjectSchema) en su lugar.

Parámetros

  • fieldName - nombre del campo a agregar.

  • primitiveType - tipo sencillo de elementos en el arreglo.

Devuelve

El esquema actualizado.

Lanzamientos

String fieldName,
RealmObjectSchema objectSchema
)

Agrega un nuevo campo que contiene un RealmDictionary con referencias a otras clases de modelo Realm.

Si el diccionario contiene tipos primitivos, utilice addRealmDictionaryField(String, Class) en su lugar.

Parámetros

  • fieldName - nombre del campo a agregar.

  • objectSchema - esquema para el tipo de Reino al que se hace referencia.

Devuelve

El esquema actualizado.

Lanzamientos

String fieldName,
java.lang.Class<?> primitiveType
)

Añade un nuevo campo que hace referencia a una RealmList con valores primitivos. Consulta RealmObject para ver la lista de tipos admitidos.

La nulabilidad de los elementos se define usando la clase correcta, Integer.class por ejemplo, en lugar int.class de. Alternativamente, se puede usar setRequired(String, boolean).

Ejemplo:

// Defines the list of Strings as being non null.
RealmObjectSchema schema = schema.create("Person")
.addRealmListField("children", String.class)
.setRequired("children", true)

Si la lista contiene referencias a otras clases de Realm, utilice addRealmListField(String, RealmObjectSchema) en su lugar.

Parámetros

  • fieldName - nombre del campo a agregar.

  • primitiveType - tipo sencillo de elementos en el arreglo.

Devuelve

El esquema actualizado.

Lanzamientos

String fieldName,
RealmObjectSchema objectSchema
)

Agrega un nuevo campo que contiene una RealmList con referencias a otras clases de modelo Realm.

Si la lista contiene tipos primitivos, usa addRealmListField(String, clase) en su lugar.

Parámetros

  • fieldName - nombre del campo a agregar.

  • objectSchema - esquema para el tipo de Reino al que se hace referencia.

Devuelve

El esquema actualizado.

Lanzamientos

String fieldName,
RealmObjectSchema objectSchema
)

Agrega un nuevo campo que hace referencia a otro RealmObject.

Parámetros

  • fieldName - nombre del campo a agregar.

  • objectSchema - esquema para el tipo de Reino al que se hace referencia.

Devuelve

El esquema actualizado.

Lanzamientos

String fieldName,
java.lang.Class<?> primitiveType
)

Añade un nuevo campo que hace referencia a un RealmSet con valores primitivos. Consulta RealmObject para ver la lista de tipos admitidos.

La nulabilidad de los elementos se define usando la clase correcta, Integer.class por ejemplo, en lugar int.class de. Alternativamente, se puede usar setRequired(String, boolean).

Ejemplo:

// Defines the set of Strings as being non null.
RealmObjectSchema schema = schema.create("Person")
.addRealmSetField("children", String.class)
.setRequired("children", true)

Si la lista contiene referencias a otras clases de Realm, utilice addRealmSetField(String, RealmObjectSchema) en su lugar.

Parámetros

  • fieldName - nombre del campo a agregar.

  • primitiveType - tipo sencillo de elementos en el arreglo.

Devuelve

El esquema actualizado.

Lanzamientos

String fieldName,
RealmObjectSchema objectSchema
)

Agrega un nuevo campo que contiene un RealmSet con referencias a otras clases de modelo Realm.

Si el conjunto contiene tipos primitivos, utilice addRealmSetField(String, Class) en su lugar.

Parámetros

  • fieldName - nombre del campo a agregar.

  • objectSchema - esquema para el tipo de Reino al que se hace referencia.

Devuelve

El esquema actualizado.

Lanzamientos

Devuelve el nombre de la clase RealmObject representada por este esquema.

  • Cuando se utiliza un reino normal, este nombre es el mismo que el de la clase RealmObject.

  • Cuando se utiliza un DynamicRealm, este es el nombre que se utiliza en todos los métodos de API que requieren un nombre de clase.

Devuelve

el nombre de la clase RealmObject representada por este esquema.

Lanzamientos

public Set getFieldNames ()

Devuelve todos los campos de esta clase.

Devuelve

una lista de todos los campos de esta clase.

Devuelve el tipo utilizado por el motor de almacenamiento subyacente para representar este campo.

Parámetros

  • fieldName - nombre del campo objetivo.

Devuelve

el tipo subyacente utilizado por Realm para representar este campo.

Devuelve el nombre del campo de clave principal.

Devuelve

el nombre del campo de clave principal.

Lanzamientos

public boolean hasField (
String fieldName
)

Prueba si la clase tiene un campo definido con el nombre dado.

Parámetros

  • fieldName - nombre del campo a probar.

Devuelve

true si el campo existe, false en caso contrario.

public boolean hasIndex (
String fieldName
)

Comprueba si un campo determinado tiene un índice definido.

Parámetros

  • fieldName - nombre del campo existente para comprobar.

Devuelve

true si el campo está indexado, false en caso contrario.

Lanzamientos

public boolean hasPrimaryKey ()

Comprueba si la clase tiene una clave principal definida.

Devuelve

true si se define una clave principal, false en caso contrario.

public boolean isEmbedded ()

Devuelve true si los objetos de este tipo se consideran "incrustados". Consulte RealmClass.embedded() para obtener más información.

Devuelve

true si están incrustados objetos de este tipo. false si no.

public boolean isNullable (
String fieldName
)

Comprueba si un campo determinado es nulo, es decir, si puede contener valores null.

Parámetros

  • fieldName - campo a comprobar.

Devuelve

true si es necesario, false en caso contrario.

Lanzamientos

public boolean isPrimaryKey (
String fieldName
)

Comprueba si un campo determinado es el campo de clave principal.

Parámetros

  • fieldName - campo a comprobar.

Devuelve

true si es el campo de clave principal, false en caso contrario.

Lanzamientos

public boolean isRequired (
String fieldName
)

Comprueba si un campo determinado es obligatorio, es decir, no puede contener valores null.

Parámetros

  • fieldName - campo a comprobar.

Devuelve

true si es necesario, false en caso contrario.

Lanzamientos

public abstract RealmObjectSchema removeField (
String fieldName
)

Elimina un campo de la clase.

Parámetros

  • fieldName - nombre del campo a eliminar.

Devuelve

El esquema actualizado.

Lanzamientos

public abstract RealmObjectSchema removeIndex (
String fieldName
)

Elimina un índice de un campo determinado. Esto equivale a eliminar la anotación @Index del campo.

Parámetros

  • fieldName - campo del cual eliminar el índice.

Devuelve

El esquema actualizado.

Lanzamientos

Elimina la clave principal de esta clase. Esto equivale a eliminar la anotación io.realm.annotations.PrimaryKey de la clase. Además, esto también elimina implícitamente la anotación io.realm.annotations.Index del campo.

Devuelve

El esquema actualizado.

Lanzamientos

public abstract RealmObjectSchema renameField (
String currentFieldName,
String newFieldName
)

Cambia el nombre de un campo de un nombre a otro.

Parámetros

  • currentFieldName - nombre del campo a renombrar.

  • newFieldName - el nuevo nombre del campo.

Devuelve

El esquema actualizado.

Lanzamientos

String className
)

Establece un nuevo nombre para esta clase RealmObject. Esto equivale a cambiarle el nombre.

Parámetros

  • className - el nuevo nombre para esta clase.

Lanzamientos

public void setEmbedded (
boolean embedded
)

Convierte la clase para que esté incrustada o no. Una clase solo se puede marcar como incrustada si se cumplen las siguientes invariantes:

  • No se permite que la clase tenga una clave principal definida.

  • Todos los objetos existentes de este tipo deben tener un solo objeto padre apuntando a ellos. Si 0 o más de 1 objetos tienen una referencia a un objeto que se va a marcar como incrustado, se lanzará una excepción IllegalStateException.

Lanzamientos

  • IllegalStateException - si la clase no pudo convertirse porque rompió algunas de las invariantes de los objetos incrustados.

public abstract RealmObjectSchema setNullable (
String fieldName,
boolean nullable
)

Establece que un campo admita valores nulos, es decir, que pueda contener valores null. Esto equivale a alternar entre tipos primitivos y su variante en caja, por ejemplo, de int a Integer .

Si el tipo de campo designado es una lista de valores (no RealmObjects), la nulabilidad especificada solo afecta a sus elementos, no al campo en sí. La lista de valores en sí siempre es no nula.

Parámetros

  • fieldName - nombre del campo en la clase.

  • nullable - true si el campo debe ser nulo, false en caso contrario.

Devuelve

El esquema actualizado.

Lanzamientos

public abstract RealmObjectSchema setRequired (
String fieldName,
boolean required
)

Establece un campo como obligatorio, es decir, no se permite que contenga valores null. Esto equivale a alternar entre tipos en caja y su variante primitiva, por ejemplo, de Integer a int .

Si el tipo de campo designado es una lista de valores (no RealmObjects), la nulabilidad especificada solo afecta a sus elementos, no al campo en sí. La lista de valores en sí siempre es no nula.

Parámetros

  • fieldName - nombre del campo en la clase.

  • required - true si el campo debe ser obligatorio, false en caso contrario.

Devuelve

El esquema actualizado.

Lanzamientos

Ejecuta una función de transformación en cada instancia de RealmObject de la clase actual. El objeto se representará como DynamicRealmObject.

No hay garantías en el orden en que se devuelven los objetos.

Parámetros

  • function - función de transformación.

Devuelve

este esquema.

Lanzamientos

Volver

RealmObjectChangeListener