Compartir a través de


TableServiceEntity Clase

  • java.lang.Object
    • TableEntity
      • com.microsoft.azure.storage.table.TableServiceEntity

public class TableServiceEntity implements TableEntity

La TableServiceEntity clase representa el tipo de objeto base de una entidad de tabla en el servicio Storage. TableServiceEntity proporciona una implementación base para la TableEntity interfaz que proporciona y métodos que serializan y deserializan de forma predeterminada todas las propiedades a través de la reflexión. Una clase de entidad de tabla puede extender esta clase e invalidar los métodos y para proporcionar lógica de serialización personalizada o más eficaz.

El uso de la reflexión permite serializar y deserializar las subclases de TableServiceEntity sin tener que implementar el código de serialización. Cuando se encuentra un método captador y un método establecedor para un nombre de propiedad y un tipo de datos determinado, se invoca automáticamente el método adecuado para serializar o deserializar los datos. Para aprovechar el código de serialización automática, las clases de entidad de tabla deben proporcionar métodos captadores y establecedores para cada propiedad de la entidad de tabla correspondiente de Microsoft Azure Table Storage. El código de reflexión busca métodos captadores y establecedores en pares del formulario.

y

donde PropertyName es un nombre de propiedad para la entidad de tabla y el tipo es un tipo de Java compatible con el tipo de datos EDM de la propiedad. Consulte la tabla siguiente para obtener un mapa de los tipos de propiedad a sus equivalentes de Java. La StoreAs anotación se puede aplicar con un atributo para especificar un nombre de propiedad para la reflexión en métodos captadores y establecedores que no siguen la convención de nombre de propiedad. Los nombres de método y el atributo de las anotaciones distinguen mayúsculas de minúsculas para buscar coincidencias con los nombres de StoreAs propiedad con reflexión. Use la Ignore anotación para evitar que la reflexión use métodos para la serialización y deserialización automáticas. Tenga en cuenta que los nombres "PartitionKey", "RowKey", "Timestamp" y "Etag" están reservados y se omitirán si se establecen con la StoreAs anotación en una subclase.

En la tabla siguiente se muestran los tipos de datos de propiedad admitidos en el almacenamiento de Microsoft Azure y los tipos de Java correspondientes cuando se deserializan.

Tipos de datos de propiedad admitidos en Microsoft Azure Storage

Consulte el tema de MSDN Descripción del modelo de datos de Table Service para obtener información general sobre tablas, entidades y propiedades como se usa en el servicio Microsoft Azure Storage.

Para obtener información general sobre los nombres y tipos de datos primitivos de EDM disponibles, consulte el

Sección Tipos de datos primitivos de la información general del protocolo OData.

Resumen del campo

Modificador y tipo Campo y descripción
String etag

Reservado para uso interno. Valor de ETag para la entidad.

String partitionKey

Reservado para uso interno. Valor de la clave de partición en la entidad.

String rowKey

Reservado para uso interno. Valor de la clave de fila en la entidad.

Date timeStamp

Reservado para uso interno. Valor de la marca de tiempo de la entidad.

Resumen del constructor

Constructor Description
TableServiceEntity()

Inicializa una instancia vacía TableServiceEntity .

TableServiceEntity(String partitionKey, String rowKey)

Inicializa una nueva instancia de la clase TableServiceEntity con las claves de fila y partición especificadas.

Resumen del método

Modificador y tipo Método y descripción
String getEtag()

Obtiene el valor ETag que se va a comprobar para la entidad. Este valor se usa para determinar si la entidad de tabla ha cambiado desde que se leyó por última vez desde Microsoft Azure Storage. El cliente no puede actualizar este valor en el servicio.

String getPartitionKey()

Obtiene el valor PartitionKey de la entidad.

ConcurrentHashMap<Class<?>, HashMap<String, PropertyPair>> getReflectedEntityCache()

La caché de entidades reflejada almacena en caché los tipos de entidad conocidos y sus respectivos diccionarios de entidades reflejados cuando las entidades se deserializan y la carga no incluye metadatos JSON.

String getRowKey()

Obtiene el valor RowKey de la entidad.

Date getTimestamp()

Obtiene la marca de tiempo de la entidad. El servidor se encargará de administrar el valor Timestamp, así que no podrá modificarlo.

boolean isReflectedEntityCacheDisabled()

Obtiene un valor que indica si la caché de entidades reflejada está deshabilitada o no. En la mayoría de los escenarios, no se recomienda deshabilitar la caché de entidades reflejadas debido a su efecto en el rendimiento.

La caché de entidades reflejada almacena los tipos de entidad conocidos y sus respectivos diccionarios de entidades reflejados. En lugar de usar la reflexión en un tipo de entidad conocido, los valores del diccionario se usan en su lugar.

void readEntity(final HashMap<String, EntityProperty> properties, final OperationContext opContext)

Rellena esta instancia de entidad de tabla mediante la asignación de nombres de propiedad a EntityProperty valores con tipo de datos.

Este método invoca readEntityWithReflection(final Object instance, final HashMap<String, EntityProperty> properties, final OperationContext opContext) para rellenar la instancia de entidad de tabla en la que se llama al método mediante reflexión. Las clases de entidad de tabla que se extienden TableServiceEntity pueden aprovechar este comportamiento mediante la implementación de métodos captadores y establecedores para las propiedades concretas de la entidad de tabla en Microsoft Azure Storage que representa la clase .

Invalide este método en clases que se extienden TableServiceEntity para invocar código de serialización personalizado.

void readEntityWithReflection(final Object instance, final HashMap<String, EntityProperty> properties, final OperationContext opContext)

Deserializa el mapa de propiedades de la entidad de tabla en la instancia de objeto especificada mediante reflexión.

Este método estático toma una instancia de objeto que representa un tipo de entidad de tabla y usa la reflexión en su tipo de clase para buscar métodos para deserializar los datos del mapa de propiedades en la instancia.

Cada nombre de propiedad y tipo de datos del mapa de propiedades se compara con los métodos del tipo de clase para un par de métodos captadores y establecedores que se usarán para la serialización y deserialización. La clase se examina para los métodos con nombres que coinciden con el nombre de propiedad con "get" y "set" antepuesto, o con el StoreAs conjunto de anotaciones con el nombre de la propiedad. Los métodos deben tener tipos devueltos o tipos de datos de parámetros que coincidan con el tipo de datos del valor correspondiente EntityProperty . Si se encuentra este par, los datos se copian en el objeto de instancia invocando el método establecedor en la instancia de . Las propiedades que no coinciden con un par de métodos por nombre y tipo de datos no se copian.

void setEtag(final String etag)

Establece el valor de ETag para comprobar la entidad. Este valor se usa para determinar si la entidad de tabla ha cambiado desde que se leyó por última vez desde el almacenamiento de Microsoft Azure. El cliente no puede actualizar este valor en el servicio.

void setPartitionKey(final String partitionKey)

Establece el valor PartitionKey de la entidad.

void setReflectedEntityCacheDisabled(boolean disableReflectedEntityCache)

Establece un valor booleano que representa si la caché de entidades reflejada está deshabilitada o no. En la mayoría de los escenarios, no se recomienda deshabilitar la caché de entidades reflejadas debido a su efecto en el rendimiento.

La caché de entidades reflejada almacena los tipos de entidad conocidos y sus respectivos diccionarios de entidades reflejados. En lugar de usar la reflexión en un tipo de entidad conocido, los valores del diccionario se usan en su lugar.

void setRowKey(final String rowKey)

Establece el valor RowKey de la entidad.

void setTimestamp(final Date timeStamp)

Establece el valor de la entidad. Tenga en cuenta que la propiedad timestamp es una propiedad de solo lectura establecida por el servicio.

HashMap<String, EntityProperty> writeEntity(final OperationContext opContext)

Devuelve una asignación de nombres de propiedad a EntityProperty valores con tipo de datos creados serializando esta instancia de entidad de tabla.

Este método invoca writeEntityWithReflection(final Object instance) para serializar la instancia de entidad de tabla en la que se llama al método mediante la reflexión. Las clases de entidad de tabla que se extienden TableServiceEntity pueden aprovechar este comportamiento mediante la implementación de métodos captadores y establecedores para las propiedades concretas de la entidad de tabla en Microsoft Azure Storage que representa la clase . Tenga en cuenta que los nombres de propiedad "PartitionKey", "RowKey" y "Timestamp" están reservados y se omitirán si se establecen en otros métodos con la StoreAs anotación.

Invalide este método en clases que se extienden TableServiceEntity para invocar código de serialización personalizado.

HashMap<String, EntityProperty> writeEntityWithReflection(final Object instance)

Serializa los datos de propiedad de una instancia de entidad de tabla en un mapa de propiedades mediante reflexión.

Este método estático toma una instancia de objeto que representa un tipo de entidad de tabla y usa la reflexión en su tipo de clase para buscar métodos para serializar los datos de la instancia en el mapa de propiedades.

Cada nombre de propiedad y tipo de datos del mapa de propiedades se compara con los métodos del tipo de clase para un par de métodos captadores y establecedores que se usarán para la serialización y deserialización. La clase se examina para los métodos con nombres que coinciden con el nombre de propiedad con "get" y "set" antepuesto, o con el StoreAs conjunto de anotaciones con el nombre de la propiedad. Los métodos deben tener tipos devueltos o tipos de datos de parámetros que coincidan con el tipo de datos del valor correspondiente EntityProperty . Si se encuentra este par, los datos se copian del objeto de instancia invocando el método getter en la instancia. Las propiedades que no tienen un par de métodos con el nombre coincidente y el tipo de datos no se copian.

Detalles del campo

etag

protected String etag= null

Reservado para uso interno. Valor de ETag para la entidad.

partitionKey

protected String partitionKey= null

Reservado para uso interno. Valor de la clave de partición en la entidad.

rowKey

protected String rowKey= null

Reservado para uso interno. Valor de la clave de fila en la entidad.

timeStamp

protected Date timeStamp= new Date()

Reservado para uso interno. Valor de la marca de tiempo de la entidad.

Detalles del constructor

TableServiceEntity

public TableServiceEntity()

Inicializa una instancia vacía TableServiceEntity .

TableServiceEntity

public TableServiceEntity(String partitionKey, String rowKey)

Inicializa una nueva instancia de la clase TableServiceEntity con las claves de fila y partición especificadas.

Parameters:

partitionKey - que String representa la clave de partición del TableServiceEntity objeto que se va a inicializar.
rowKey - que String representa la clave de fila del TableServiceEntity objeto que se va a inicializar.

Detalles del método

getEtag

public String getEtag()

Obtiene el valor ETag que se va a comprobar para la entidad. Este valor se usa para determinar si la entidad de tabla ha cambiado desde que se leyó por última vez desde Microsoft Azure Storage. El cliente no puede actualizar este valor en el servicio.

Overrides:

TableServiceEntity.getEtag()

Returns:

que String contiene la etiqueta ETag de la entidad.

getPartitionKey

public String getPartitionKey()

Obtiene el valor PartitionKey de la entidad.

Overrides:

TableServiceEntity.getPartitionKey()

Returns:

que String contiene el valor PartitionKey de la entidad.

getReflectedEntityCache

protected static ConcurrentHashMap<>, HashMap> getReflectedEntityCache()

La caché de entidades reflejada almacena en caché los tipos de entidad conocidos y sus respectivos diccionarios de entidades reflejados cuando las entidades se deserializan y la carga no incluye metadatos JSON.

Returns:

que ConcurrentHashMap<Class<?>, HashMap<String, PropertyPair>> representa los tipos de entidad conocidos y sus diccionarios de entidades reflejados

getRowKey

public String getRowKey()

Obtiene el valor RowKey de la entidad.

Overrides:

TableServiceEntity.getRowKey()

Returns:

que String contiene el valor RowKey de la entidad.

getTimestamp

public Date getTimestamp()

Obtiene la marca de tiempo de la entidad. El servidor se encargará de administrar el valor Timestamp, así que no podrá modificarlo.

Overrides:

TableServiceEntity.getTimestamp()

Returns:

Objeto java.util.Date que representa el valor timestamp de la entidad.

isReflectedEntityCacheDisabled

public static boolean isReflectedEntityCacheDisabled()

Obtiene un valor que indica si la caché de entidades reflejada está deshabilitada o no. En la mayoría de los escenarios, no se recomienda deshabilitar la caché de entidades reflejadas debido a su efecto en el rendimiento.

La caché de entidades reflejada almacena los tipos de entidad conocidos y sus respectivos diccionarios de entidades reflejados. En lugar de usar la reflexión en un tipo de entidad conocido, los valores del diccionario se usan en su lugar.

Returns:

true si la caché de entidades reflejada está deshabilitada; de lo contrario, false.

readEntity

public void readEntity(final HashMap properties, final OperationContext opContext)

Rellena esta instancia de entidad de tabla mediante la asignación de nombres de propiedad a EntityProperty valores con tipo de datos.

Este método invoca readEntityWithReflection(final Object instance, final HashMap<String, EntityProperty> properties, final OperationContext opContext) para rellenar la instancia de entidad de tabla en la que se llama al método mediante reflexión. Las clases de entidad de tabla que se extienden TableServiceEntity pueden aprovechar este comportamiento mediante la implementación de métodos captadores y establecedores para las propiedades concretas de la entidad de tabla en Microsoft Azure Storage que representa la clase .

Invalide este método en clases que se extienden TableServiceEntity para invocar código de serialización personalizado.

Overrides:

TableServiceEntity.readEntity(final HashMap<String, EntityProperty> properties, final OperationContext opContext)

Parameters:

properties - de java.util.HashMap nombres de String propiedad para los valores de datos que se van a EntityProperty deserializar y almacenar en esta instancia de entidad de tabla.
opContext - Objeto OperationContext utilizado para realizar un seguimiento de la ejecución de la operación.

Throws:

StorageException - si se produce un error durante la deserialización.

readEntityWithReflection

public static void readEntityWithReflection(final Object instance, final HashMap properties, final OperationContext opContext)

Deserializa el mapa de propiedades de la entidad de tabla en la instancia de objeto especificada mediante reflexión.

Este método estático toma una instancia de objeto que representa un tipo de entidad de tabla y usa la reflexión en su tipo de clase para buscar métodos para deserializar los datos del mapa de propiedades en la instancia.

Cada nombre de propiedad y tipo de datos del mapa de propiedades se compara con los métodos del tipo de clase para un par de métodos captadores y establecedores que se usarán para la serialización y deserialización. La clase se examina para los métodos con nombres que coinciden con el nombre de propiedad con "get" y "set" antepuesto, o con el StoreAs conjunto de anotaciones con el nombre de la propiedad. Los métodos deben tener tipos devueltos o tipos de datos de parámetros que coincidan con el tipo de datos del valor correspondiente EntityProperty . Si se encuentra este par, los datos se copian en el objeto de instancia invocando el método establecedor en la instancia de . Las propiedades que no coinciden con un par de métodos por nombre y tipo de datos no se copian.

Parameters:

instance - Referencia Object a una instancia de una clase que implementa TableEntity para deserializar los datos de entidad de tabla.
properties - Objeto java.util.HashMap que asigna String nombres de propiedad a EntityProperty objetos que contienen valores de datos con tipo para deserializar en el objeto de parámetro de instancia.
opContext - Objeto OperationContext que representa el contexto para la operación actual.

Throws:

IllegalArgumentException - si la respuesta de la entidad de tabla recibida no es válida o tiene un formato incorrecto.
IllegalAccessException - si la entidad de tabla produjo una excepción durante la deserialización.
InvocationTargetException - si un método invocado en el parámetro de instancia produjo una excepción durante la deserialización.

setEtag

public void setEtag(final String etag)

Establece el valor de ETag para comprobar la entidad. Este valor se usa para determinar si la entidad de tabla ha cambiado desde que se leyó por última vez desde el almacenamiento de Microsoft Azure. El cliente no puede actualizar este valor en el servicio.

Overrides:

TableServiceEntity.setEtag(final String etag)

Parameters:

etag - que String contiene la etiqueta ETag de la entidad.

setPartitionKey

public void setPartitionKey(final String partitionKey)

Establece el valor PartitionKey de la entidad.

Overrides:

TableServiceEntity.setPartitionKey(final String partitionKey)

Parameters:

partitionKey - que String contiene el valor PartitionKey de la entidad.

setReflectedEntityCacheDisabled

public static void setReflectedEntityCacheDisabled(boolean disableReflectedEntityCache)

Establece un valor booleano que representa si la caché de entidades reflejada está deshabilitada o no. En la mayoría de los escenarios, no se recomienda deshabilitar la caché de entidades reflejadas debido a su efecto en el rendimiento.

La caché de entidades reflejada almacena los tipos de entidad conocidos y sus respectivos diccionarios de entidades reflejados. En lugar de usar la reflexión en un tipo de entidad conocido, los valores del diccionario se usan en su lugar.

Parameters:

disableReflectedEntityCache -

true para deshabilitar la caché de entidades reflejada; de lo contrario, false.

setRowKey

public void setRowKey(final String rowKey)

Establece el valor RowKey de la entidad.

Overrides:

TableServiceEntity.setRowKey(final String rowKey)

Parameters:

rowKey - que String contiene el valor RowKey de la entidad.

setTimestamp

public void setTimestamp(final Date timeStamp)

Establece el valor de la entidad. Tenga en cuenta que la propiedad timestamp es una propiedad de solo lectura establecida por el servicio.

Overrides:

TableServiceEntity.setTimestamp(final Date timeStamp)

Parameters:

timeStamp - que java.util.Date contiene el timeStamp valor de la entidad.

writeEntity

public HashMap writeEntity(final OperationContext opContext)

Devuelve una asignación de nombres de propiedad a EntityProperty valores con tipo de datos creados serializando esta instancia de entidad de tabla.

Este método invoca writeEntityWithReflection(final Object instance) para serializar la instancia de entidad de tabla en la que se llama al método mediante la reflexión. Las clases de entidad de tabla que se extienden TableServiceEntity pueden aprovechar este comportamiento mediante la implementación de métodos captadores y establecedores para las propiedades concretas de la entidad de tabla en Microsoft Azure Storage que representa la clase . Tenga en cuenta que los nombres de propiedad "PartitionKey", "RowKey" y "Timestamp" están reservados y se omitirán si se establecen en otros métodos con la StoreAs anotación.

Invalide este método en clases que se extienden TableServiceEntity para invocar código de serialización personalizado.

Overrides:

TableServiceEntity.writeEntity(final OperationContext opContext)

Parameters:

opContext - Objeto OperationContext utilizado para realizar un seguimiento de la ejecución de la operación.

Returns:

De java.util.HashMap nombres de String propiedad a EntityProperty valores con tipo de datos que representan las propiedades serializadas desde esta instancia de entidad de tabla.

Throws:

StorageException - si se produce un error durante la serialización.

writeEntityWithReflection

public static HashMap writeEntityWithReflection(final Object instance)

Serializa los datos de propiedad de una instancia de entidad de tabla en un mapa de propiedades mediante reflexión.

Este método estático toma una instancia de objeto que representa un tipo de entidad de tabla y usa la reflexión en su tipo de clase para buscar métodos para serializar los datos de la instancia en el mapa de propiedades.

Cada nombre de propiedad y tipo de datos del mapa de propiedades se compara con los métodos del tipo de clase para un par de métodos captadores y establecedores que se usarán para la serialización y deserialización. La clase se examina para los métodos con nombres que coinciden con el nombre de propiedad con "get" y "set" antepuesto, o con el StoreAs conjunto de anotaciones con el nombre de la propiedad. Los métodos deben tener tipos devueltos o tipos de datos de parámetros que coincidan con el tipo de datos del valor correspondiente EntityProperty . Si se encuentra este par, los datos se copian del objeto de instancia invocando el método getter en la instancia. Las propiedades que no tienen un par de métodos con el nombre coincidente y el tipo de datos no se copian.

Parameters:

instance - Referencia Object a una instancia de una clase que implementa TableEntity para serializar los datos de entidad de tabla de .

Returns:

Objeto java.util.HashMap que asigna String nombres de propiedad a EntityProperty objetos que contienen valores de datos con tipo serializados a partir del objeto de parámetro de instancia.

Throws:

IllegalArgumentException - si la entidad de tabla no es válida o tiene un formato incorrecto.
IllegalAccessException - si la entidad de tabla produjo una excepción durante la serialización.
InvocationTargetException - si un método invocado en el parámetro de instancia produjo una excepción durante la serialización.

Se aplica a