TableServiceEntity Classe
- java.
lang. Object - TableEntity
- com.
microsoft. azure. storage. table. TableServiceEntity
- com.
public class TableServiceEntity implements TableEntity
A TableServiceEntity classe representa o tipo de objeto base para uma entidade de tabela no serviço De armazenamento. TableServiceEntity fornece uma implementação base para a TableEntity interface que fornece métodos e que, por padrão, serializam e desserializam todas as propriedades por meio de reflexão. Uma classe de entidade de tabela pode estender essa classe e substituir os métodos e para fornecer lógica de serialização personalizada ou mais de alto desempenho.
O uso da reflexão permite que subclasses de TableServiceEntity sejam serializadas e desserializadas sem a necessidade de implementar o código de serialização por conta própria. Quando um método getter e um método setter são encontrados para um determinado nome de propriedade e tipo de dados, o método apropriado é invocado automaticamente para serializar ou desserializar os dados. Para aproveitar o código de serialização automática, suas classes de entidade de tabela devem fornecer métodos getter e setter para cada propriedade na entidade de tabela correspondente no armazenamento de tabelas do Microsoft Azure. O código de reflexão procura métodos getter e setter em pares do formulário
e
em que PropertyName é um nome de propriedade para a entidade de tabela e type é um tipo Java compatível com o tipo de dados EDM da propriedade. Consulte a tabela abaixo para obter um mapa de tipos de propriedade para seus equivalentes java. A StoreAs anotação pode ser aplicada com um atributo para especificar um nome de propriedade para reflexão nos métodos getter e setter que não seguem a convenção de nome da propriedade. Os nomes de método e o atributo de StoreAs anotações diferenciam maiúsculas de minúsculas para correspondência de nomes de propriedade com reflexão. Use a Ignore anotação para impedir que métodos sejam usados pela reflexão para serialização e desserialização automáticas. Observe que os nomes "PartitionKey", "RowKey", "Timestamp" e "Etag" são reservados e serão ignorados se definidos com a StoreAs anotação em uma subclasse.
A tabela a seguir mostra os tipos de dados de propriedade com suporte no armazenamento do Microsoft Azure e os tipos Java correspondentes quando desserializados.
Consulte o tópico MSDN Noções básicas sobre o Modelo de Dados do Serviço de Tabela para obter uma visão geral de tabelas, entidades e propriedades, conforme usado no serviço Armazenamento do Microsoft Azure.
Para obter uma visão geral dos tipos e nomes de dados primitivos do EDM disponíveis, consulte o
Seção Tipos de Dados Primitivos da Visão Geral do Protocolo OData.
Resumo do campo
Modificador e tipo | Campo e descrição |
---|---|
String |
etag
Reservado para uso interno. O valor da ETag para a entidade. |
String |
partitionKey
Reservado para uso interno. O valor da chave de partição na entidade. |
String |
rowKey
Reservado para uso interno. O valor da chave de linha na entidade. |
Date |
timeStamp
Reservado para uso interno. O valor do Carimbo de data/hora na entidade. |
Resumo do Construtor
Construtor | Description |
---|---|
TableServiceEntity() |
Inicializa uma instância vazia TableServiceEntity . |
TableServiceEntity(String partitionKey, String rowKey) |
Inicializa uma nova instância da classe TableServiceEntity com a chave de partição e chave de linha especificadas. |
Resumo do método
Modificador e tipo | Método e descrição |
---|---|
String |
getEtag()
Obtém o valor de ETag a ser verificado para a entidade. Esse valor é usado para determinar se a entidade de tabela foi alterada desde a última leitura do armazenamento do Microsoft Azure. O cliente não pode atualizar esse valor no serviço. |
String |
getPartitionKey()
Obtém o valor PartitionKey da entidade. |
ConcurrentHashMap<Class<?>, HashMap<String, PropertyPair>> |
getReflectedEntityCache()
O cache de entidade refletido armazena em cache tipos de entidade conhecidos e seus respectivos dicionários de entidade refletidos quando as entidades são desserializadas e o conteúdo não inclui metadados JSON. |
String |
getRowKey()
Obtém o valor RowKey da entidade. |
Date |
getTimestamp()
Obtém o carimbo de data/hora da entidade. O servidor gerencia o valor de Timestamp, que não pode ser modificado. |
boolean |
isReflectedEntityCacheDisabled()
Obtém um valor que indica se o cache de entidade refletido está desabilitado ou não. Para a maioria dos cenários, não é recomendável desabilitar o cache de entidade refletido devido ao seu efeito sobre o desempenho. O cache de entidade refletido armazena tipos de entidade conhecidos e seus respectivos dicionários de entidade refletida. Em vez de usar reflexão em um tipo de entidade conhecido, os valores do dicionário são usados. |
void |
readEntity(final HashMap<String, EntityProperty> properties, final OperationContext opContext)
Popula essa instância de entidade de tabela usando o mapa de nomes de propriedade para EntityProperty valores digitados por dados. Esse método invoca readEntityWithReflection(final Object instance, final HashMap<String, EntityProperty> properties, final OperationContext opContext) para preencher a instância de entidade de tabela na qual o método é chamado usando reflexão. As classes de entidade de tabela que se estendem TableServiceEntity podem aproveitar esse comportamento implementando métodos getter e setter para as propriedades específicas da entidade de tabela no armazenamento do Microsoft Azure que a classe representa. Substitua esse método em classes que se estendem TableServiceEntity para invocar código de serialização personalizado. |
void |
readEntityWithReflection(final Object instance, final HashMap<String, EntityProperty> properties, final OperationContext opContext)
Desserializa o mapa de propriedades da entidade de tabela para a instância de objeto especificada usando reflexão. Esse método estático usa uma instância de objeto que representa um tipo de entidade de tabela e usa reflexão em seu tipo de classe para localizar métodos para desserializar os dados do mapa de propriedades para a instância. Cada nome de propriedade e tipo de dados no mapa de propriedades é comparado com os métodos no tipo de classe para um par de métodos getter e setter a serem usados para serialização e desserialização. A classe é verificada em busca de métodos com nomes que correspondam ao nome da propriedade com "get" e "set" anexados ou com a StoreAs anotação definida com o nome da propriedade. Os métodos devem ter tipos de retorno ou tipos de dados de parâmetro que correspondam ao tipo de dados do valor correspondente EntityProperty . Se esse par for encontrado, os dados serão copiados para o objeto de instância invocando o método setter na instância . As propriedades que não correspondem a um par de métodos por nome e tipo de dados não são copiadas. |
void |
setEtag(final String etag)
Define o valor de ETag a ser verificado para a entidade. Esse valor é usado para determinar se a entidade de tabela foi alterada desde a última leitura do armazenamento do Microsoft Azure. O cliente não pode atualizar esse valor no serviço. |
void |
setPartitionKey(final String partitionKey)
Define o valor PartitionKey para a entidade. |
void |
setReflectedEntityCacheDisabled(boolean disableReflectedEntityCache)
Define um booliano que representa se o cache de entidade refletido está desabilitado ou não. Para a maioria dos cenários, não é recomendável desabilitar o cache de entidade refletido devido ao seu efeito sobre o desempenho. O cache de entidade refletido armazena tipos de entidade conhecidos e seus respectivos dicionários de entidade refletida. Em vez de usar reflexão em um tipo de entidade conhecido, os valores do dicionário são usados. |
void |
setRowKey(final String rowKey)
Define o valor RowKey para a entidade. |
void |
setTimestamp(final Date timeStamp)
Define o valor da entidade. Observe que a propriedade timestamp é uma propriedade somente leitura, definida apenas pelo serviço. |
HashMap<String, Entity |
writeEntity(final OperationContext opContext)
Retorna um mapa de nomes de propriedade para EntityProperty valores digitados por dados criados serializando essa instância de entidade de tabela. Esse método invoca writeEntityWithReflection(final Object instance) para serializar a instância de entidade de tabela na qual o método é chamado usando reflexão. As classes de entidade de tabela que se estendem TableServiceEntity podem aproveitar esse comportamento implementando métodos getter e setter para as propriedades específicas da entidade de tabela no armazenamento do Microsoft Azure que a classe representa. Observe que os nomes de propriedade "PartitionKey", "RowKey" e "Timestamp" são reservados e serão ignorados se definidos em outros métodos com a StoreAs anotação. Substitua esse método em classes que se estendem TableServiceEntity para invocar código de serialização personalizado. |
HashMap<String, Entity |
writeEntityWithReflection(final Object instance)
Serializa os dados de propriedade de uma instância de entidade de tabela em um mapa de propriedades usando reflexão. Esse método estático usa uma instância de objeto que representa um tipo de entidade de tabela e usa reflexão em seu tipo de classe para localizar métodos para serializar os dados da instância no mapa de propriedades. Cada nome de propriedade e tipo de dados no mapa de propriedades é comparado com os métodos no tipo de classe para um par de métodos getter e setter a serem usados para serialização e desserialização. A classe é verificada em busca de métodos com nomes que correspondam ao nome da propriedade com "get" e "set" anexados ou com a StoreAs anotação definida com o nome da propriedade. Os métodos devem ter tipos de retorno ou tipos de dados de parâmetro que correspondam ao tipo de dados do valor correspondente EntityProperty . Se esse par for encontrado, os dados serão copiados do objeto de instância invocando o método getter na instância . As propriedades que não têm um par de métodos com o nome e o tipo de dados correspondentes não são copiadas. |
Detalhes do campo
etag
protected String etag= null
Reservado para uso interno. O valor da ETag para a entidade.
partitionKey
protected String partitionKey= null
Reservado para uso interno. O valor da chave de partição na entidade.
rowKey
protected String rowKey= null
Reservado para uso interno. O valor da chave de linha na entidade.
timeStamp
protected Date timeStamp= new Date()
Reservado para uso interno. O valor do Carimbo de data/hora na entidade.
Detalhes do construtor
TableServiceEntity
public TableServiceEntity()
Inicializa uma instância vazia TableServiceEntity .
TableServiceEntity
public TableServiceEntity(String partitionKey, String rowKey)
Inicializa uma nova instância da classe TableServiceEntity com a chave de partição e chave de linha especificadas.
Parameters:
String
que representa a chave de partição do TableServiceEntity a ser inicializado.
Detalhes do método
getEtag
public String getEtag()
Obtém o valor de ETag a ser verificado para a entidade. Esse valor é usado para determinar se a entidade de tabela foi alterada desde a última leitura do armazenamento do Microsoft Azure. O cliente não pode atualizar esse valor no serviço.
Overrides:
TableServiceEntity.getEtag()Returns:
String
que contém a ETag para a entidade.getPartitionKey
public String getPartitionKey()
Obtém o valor PartitionKey da entidade.
Overrides:
TableServiceEntity.getPartitionKey()Returns:
String
que contém o valor PartitionKey para a entidade.getReflectedEntityCache
protected static ConcurrentHashMap
O cache de entidade refletido armazena em cache tipos de entidade conhecidos e seus respectivos dicionários de entidade refletidos quando as entidades são desserializadas e o conteúdo não inclui metadados JSON.
Returns:
ConcurrentHashMap<Class<?>, HashMap<String, PropertyPair>>
que representa os tipos de entidade conhecidos e seus dicionários de entidade refletidosgetRowKey
public String getRowKey()
Obtém o valor RowKey da entidade.
Overrides:
TableServiceEntity.getRowKey()Returns:
String
que contém o valor RowKey para a entidade.getTimestamp
public Date getTimestamp()
Obtém o carimbo de data/hora da entidade. O servidor gerencia o valor de Timestamp, que não pode ser modificado.
Overrides:
TableServiceEntity.getTimestamp()Returns:
java.util.Date
objeto que representa o valor de carimbo de data/hora da entidade.isReflectedEntityCacheDisabled
public static boolean isReflectedEntityCacheDisabled()
Obtém um valor que indica se o cache de entidade refletido está desabilitado ou não. Para a maioria dos cenários, não é recomendável desabilitar o cache de entidade refletido devido ao seu efeito sobre o desempenho.
O cache de entidade refletido armazena tipos de entidade conhecidos e seus respectivos dicionários de entidade refletida. Em vez de usar reflexão em um tipo de entidade conhecido, os valores do dicionário são usados.
Returns:
true
se o cache de entidade refletido estiver desabilitado; caso contrário, false
.
readEntity
public void readEntity(final HashMap
Popula essa instância de entidade de tabela usando o mapa de nomes de propriedade para EntityProperty valores digitados por dados.
Esse método invoca readEntityWithReflection(final Object instance, final HashMap<String, EntityProperty> properties, final OperationContext opContext) para preencher a instância de entidade de tabela na qual o método é chamado usando reflexão. As classes de entidade de tabela que se estendem TableServiceEntity podem aproveitar esse comportamento implementando métodos getter e setter para as propriedades específicas da entidade de tabela no armazenamento do Microsoft Azure que a classe representa.
Substitua esse método em classes que se estendem TableServiceEntity para invocar código de serialização personalizado.
Overrides:
TableServiceEntity.readEntity(final HashMap<String, EntityProperty> properties, final OperationContext opContext)Parameters:
java.util.HashMap
de nomes de String
propriedade para EntityProperty valores de dados a serem desserializados e armazenados nesta instância de entidade de tabela.
Throws:
readEntityWithReflection
public static void readEntityWithReflection(final Object instance, final HashMap
Desserializa o mapa de propriedades da entidade de tabela para a instância de objeto especificada usando reflexão.
Esse método estático usa uma instância de objeto que representa um tipo de entidade de tabela e usa reflexão em seu tipo de classe para localizar métodos para desserializar os dados do mapa de propriedades para a instância.
Cada nome de propriedade e tipo de dados no mapa de propriedades é comparado com os métodos no tipo de classe para um par de métodos getter e setter a serem usados para serialização e desserialização. A classe é verificada em busca de métodos com nomes que correspondam ao nome da propriedade com "get" e "set" anexados ou com a StoreAs anotação definida com o nome da propriedade. Os métodos devem ter tipos de retorno ou tipos de dados de parâmetro que correspondam ao tipo de dados do valor correspondente EntityProperty . Se esse par for encontrado, os dados serão copiados para o objeto de instância invocando o método setter na instância . As propriedades que não correspondem a um par de métodos por nome e tipo de dados não são copiadas.
Parameters:
Object
referência a uma instância de uma classe que implementa TableEntity para desserializar os dados da entidade de tabela.
java.util.HashMap
objeto que mapeia String
nomes de propriedade para EntityProperty objetos que contêm valores de dados digitados para desserializar no objeto de parâmetro de instância.
Throws:
setEtag
public void setEtag(final String etag)
Define o valor de ETag a ser verificado para a entidade. Esse valor é usado para determinar se a entidade de tabela foi alterada desde a última leitura do armazenamento do Microsoft Azure. O cliente não pode atualizar esse valor no serviço.
Overrides:
TableServiceEntity.setEtag(final String etag)Parameters:
String
que contém a ETag para a entidade.
setPartitionKey
public void setPartitionKey(final String partitionKey)
Define o valor PartitionKey para a entidade.
Overrides:
TableServiceEntity.setPartitionKey(final String partitionKey)Parameters:
String
que contém o valor PartitionKey para a entidade.
setReflectedEntityCacheDisabled
public static void setReflectedEntityCacheDisabled(boolean disableReflectedEntityCache)
Define um booliano que representa se o cache de entidade refletido está desabilitado ou não. Para a maioria dos cenários, não é recomendável desabilitar o cache de entidade refletido devido ao seu efeito sobre o desempenho.
O cache de entidade refletido armazena tipos de entidade conhecidos e seus respectivos dicionários de entidade refletida. Em vez de usar reflexão em um tipo de entidade conhecido, os valores do dicionário são usados.
Parameters:
true
para desabilitar o cache de entidade refletido; caso contrário, false
.
setRowKey
public void setRowKey(final String rowKey)
Define o valor RowKey para a entidade.
Overrides:
TableServiceEntity.setRowKey(final String rowKey)Parameters:
String
que contém o valor RowKey para a entidade.
setTimestamp
public void setTimestamp(final Date timeStamp)
Define o valor da entidade. Observe que a propriedade timestamp é uma propriedade somente leitura, definida apenas pelo serviço.
Overrides:
TableServiceEntity.setTimestamp(final Date timeStamp)Parameters:
java.util.Date
que contém o timeStamp
valor da entidade.
writeEntity
public HashMap
Retorna um mapa de nomes de propriedade para EntityProperty valores digitados por dados criados serializando essa instância de entidade de tabela.
Esse método invoca writeEntityWithReflection(final Object instance) para serializar a instância de entidade de tabela na qual o método é chamado usando reflexão. As classes de entidade de tabela que se estendem TableServiceEntity podem aproveitar esse comportamento implementando métodos getter e setter para as propriedades específicas da entidade de tabela no armazenamento do Microsoft Azure que a classe representa. Observe que os nomes de propriedade "PartitionKey", "RowKey" e "Timestamp" são reservados e serão ignorados se definidos em outros métodos com a StoreAs anotação.
Substitua esse método em classes que se estendem TableServiceEntity para invocar código de serialização personalizado.
Overrides:
TableServiceEntity.writeEntity(final OperationContext opContext)Parameters:
Returns:
java.util.HashMap
de nomes de String
propriedade para EntityProperty valores tipados de dados que representam as propriedades serializadas dessa instância de entidade de tabela.Throws:
writeEntityWithReflection
public static HashMap
Serializa os dados de propriedade de uma instância de entidade de tabela em um mapa de propriedades usando reflexão.
Esse método estático usa uma instância de objeto que representa um tipo de entidade de tabela e usa reflexão em seu tipo de classe para localizar métodos para serializar os dados da instância no mapa de propriedades.
Cada nome de propriedade e tipo de dados no mapa de propriedades é comparado com os métodos no tipo de classe para um par de métodos getter e setter a serem usados para serialização e desserialização. A classe é verificada em busca de métodos com nomes que correspondam ao nome da propriedade com "get" e "set" anexados ou com a StoreAs anotação definida com o nome da propriedade. Os métodos devem ter tipos de retorno ou tipos de dados de parâmetro que correspondam ao tipo de dados do valor correspondente EntityProperty . Se esse par for encontrado, os dados serão copiados do objeto de instância invocando o método getter na instância . As propriedades que não têm um par de métodos com o nome e o tipo de dados correspondentes não são copiadas.
Parameters:
Object
referência a uma instância de uma classe que implementa TableEntity para serializar os dados da entidade de tabela.
Returns:
java.util.HashMap
objeto que mapeia String
nomes de propriedade para EntityProperty objetos que contêm valores de dados tipados serializados do objeto de parâmetro de instância.Throws:
Aplica-se a
Azure SDK for Java