TableServiceEntity Classe
- java.
lang. Object - TableEntity
- com.
microsoft. azure. storage. table. TableServiceEntity
- com.
public class TableServiceEntity implements TableEntity
La TableServiceEntity classe représente le type d’objet de base pour une entité de table dans le service de stockage. TableServiceEntity fournit une implémentation de base pour l’interface TableEntity qui fournit des méthodes et qui, par défaut, sérialisent et désérialisent toutes les propriétés par réflexion. Une classe d’entité table peut étendre cette classe et remplacer les méthodes et pour fournir une logique de sérialisation personnalisée ou plus performante.
L’utilisation de la réflexion permet de sérialiser et désérialiser les sous-classes de TableServiceEntity sans avoir à implémenter le code de sérialisation eux-mêmes. Quand une méthode getter et une méthode setter sont toutes deux trouvées pour un nom de propriété et un type de données donnés, la méthode appropriée est appelée automatiquement pour sérialiser ou désérialiser les données. Pour tirer parti du code de sérialisation automatique, vos classes d’entités de table doivent fournir des méthodes getter et setter pour chaque propriété de l’entité de table correspondante dans le stockage de tables Microsoft Azure. Le code de réflexion recherche les méthodes getter et setter par paires du formulaire
et
où PropertyName est un nom de propriété pour l’entité table, et type est un type Java compatible avec le type de données EDM de la propriété. Consultez le tableau ci-dessous pour obtenir un mappage des types de propriétés avec leurs équivalents Java. L’annotation StoreAs peut être appliquée avec un attribut pour spécifier un nom de propriété pour la réflexion sur les méthodes getter et setter qui ne respectent pas la convention de nom de propriété. Les noms de méthode et l’attribut des StoreAs annotations respectent la casse pour la correspondance des noms de propriétés avec la réflexion. Utilisez l’annotation Ignore pour empêcher l’utilisation de méthodes par la réflexion pour la sérialisation et la désérialisation automatiques. Notez que les noms « PartitionKey », « RowKey », « Timestamp » et « Etag » sont réservés et sont ignorés s’ils sont définis avec l’annotation StoreAs dans une sous-classe.
Le tableau suivant présente les types de données de propriété pris en charge dans le stockage Microsoft Azure et les types Java correspondants lors de la désérialisation.
Consultez la rubrique MSDN Présentation du modèle de données du service de table pour obtenir une vue d’ensemble des tables, entités et propriétés utilisées dans le service Stockage Microsoft Azure.
Pour obtenir une vue d’ensemble des types de données primitifs EDM disponibles et des noms, consultez
Section Types de données primitifs de la vue d’ensemble du protocole OData.
Récapitulatif du champ
Modificateur et type | Champ et description |
---|---|
String |
etag
Réservé à un usage interne. Valeur de l’ETag pour l’entité. |
String |
partitionKey
Réservé à un usage interne. Valeur de la clé de partition dans l’entité. |
String |
rowKey
Réservé à un usage interne. Valeur de la clé de ligne dans l’entité. |
Date |
timeStamp
Réservé à un usage interne. Valeur de l’horodatage dans l’entité. |
Récapitulatif du constructeur
Constructeur | Description |
---|---|
TableServiceEntity() |
Initialise un instance vide TableServiceEntity . |
TableServiceEntity(String partitionKey, String rowKey) |
Initialise une nouvelle instance de la classe TableServiceEntity avec la clé de partition et la clé de ligne spécifiées. |
Résumé de la méthode
Modificateur et type | Méthode et description |
---|---|
String |
getEtag()
Obtient la valeur ETag à vérifier pour l’entité. Cette valeur est utilisée pour déterminer si l’entité de table a changé depuis sa dernière lecture à partir du stockage Microsoft Azure. Le client ne peut pas mettre à jour cette valeur sur le service. |
String |
getPartitionKey()
Obtient la valeur PartitionKey de l’entité. |
ConcurrentHashMap<Class<?>, HashMap<String, PropertyPair>> |
getReflectedEntityCache()
Le cache d’entités réfléchi met en cache les types d’entités connus et leurs dictionnaires d’entités reflétés respectifs lorsque les entités sont désérialisées et que la charge utile n’inclut pas de métadonnées JSON. |
String |
getRowKey()
Obtient la valeur RowKey de l’entité. |
Date |
getTimestamp()
Obtient l’horodatage de l’entité. Le serveur gère la valeur de Timestamp, qui ne peut pas être modifiée. |
boolean |
isReflectedEntityCacheDisabled()
Obtient une valeur indiquant si le cache d’entité reflété est désactivé ou non. Dans la plupart des scénarios, la désactivation du cache d’entités reflété n’est pas recommandée en raison de son effet sur les performances. Le cache d’entités reflété stocke les types d’entités connus et leurs dictionnaires d’entités reflétés respectifs. Au lieu d’utiliser la réflexion sur un type d’entité connu, les valeurs du dictionnaire sont utilisées à la place. |
void |
readEntity(final HashMap<String, EntityProperty> properties, final OperationContext opContext)
Remplit cette entité de table instance à l’aide du mappage des noms de propriétés aux EntityProperty valeurs typées de données. Cette méthode appelle readEntityWithReflection(final Object instance, final HashMap<String, EntityProperty> properties, final OperationContext opContext) pour remplir l’entité de table instance la méthode est appelée à l’aide de la réflexion. Les classes d’entités de table qui s’étendent TableServiceEntity peuvent tirer parti de ce comportement en implémentant des méthodes getter et setter pour les propriétés particulières de l’entité de table dans le stockage Microsoft Azure que la classe représente. Remplacez cette méthode dans les classes qui s’étendent TableServiceEntity pour appeler du code de sérialisation personnalisé. |
void |
readEntityWithReflection(final Object instance, final HashMap<String, EntityProperty> properties, final OperationContext opContext)
Désérialise le mappage de propriété d’entité de table dans l’objet spécifié instance à l’aide de la réflexion. Cette méthode statique prend un objet instance qui représente un type d’entité table et utilise la réflexion sur son type de classe pour rechercher des méthodes permettant de désérialiser les données du mappage de propriétés dans le instance. Chaque nom de propriété et type de données dans le mappage de propriétés est comparé aux méthodes du type de classe pour une paire de méthodes getter et setter à utiliser pour la sérialisation et la désérialisation. La classe est analysée à la recherche de méthodes dont les noms correspondent au nom de propriété avec « get » et « set » ajoutés, ou avec le StoreAs jeu d’annotations avec le nom de la propriété. Les méthodes doivent avoir des types de retour ou des types de données de paramètre qui correspondent au type de données de la valeur correspondante EntityProperty . Si une telle paire est trouvée, les données sont copiées dans l’objet instance en appelant la méthode setter sur le instance. Les propriétés qui ne correspondent pas à une paire de méthodes par nom et par type de données ne sont pas copiées. |
void |
setEtag(final String etag)
Définit la valeur ETag pour vérifier pour l’entité. Cette valeur est utilisée pour déterminer si l’entité de table a changé depuis sa dernière lecture à partir du stockage Microsoft Azure. Le client ne peut pas mettre à jour cette valeur sur le service. |
void |
setPartitionKey(final String partitionKey)
Définit la valeur PartitionKey de l’entité. |
void |
setReflectedEntityCacheDisabled(boolean disableReflectedEntityCache)
Définit une valeur booléenne indiquant si le cache d’entité réfléchi est désactivé ou non. Pour la plupart des scénarios, la désactivation du cache d’entités reflétée n’est pas recommandée en raison de son effet sur les performances. Le cache d’entités répercutée stocke les types d’entités connus et leurs dictionnaires d’entités reflétés respectifs. Au lieu d’utiliser la réflexion sur un type d’entité connu, les valeurs du dictionnaire sont utilisées à la place. |
void |
setRowKey(final String rowKey)
Définit la valeur RowKey de l’entité. |
void |
setTimestamp(final Date timeStamp)
Définit la valeur de l’entité. Notez que la propriété timestamp est une propriété en lecture seule, définie par le service uniquement. |
HashMap<String, Entity |
writeEntity(final OperationContext opContext)
Retourne un mappage des noms de propriétés aux EntityProperty valeurs typées de données créées en sérialisant cette entité de table instance. Cette méthode appelle writeEntityWithReflection(final Object instance) pour sérialiser l’entité de table instance la méthode est appelée à l’aide de la réflexion. Les classes d’entités de table qui s’étendent TableServiceEntity peuvent tirer parti de ce comportement en implémentant des méthodes getter et setter pour les propriétés particulières de l’entité de table dans le stockage Microsoft Azure que la classe représente. Notez que les noms de propriété « PartitionKey », « RowKey » et « Timestamp » sont réservés et seront ignorés s’ils sont définis sur d’autres méthodes avec l’annotation StoreAs . Remplacez cette méthode dans les classes qui s’étendent TableServiceEntity pour appeler du code de sérialisation personnalisé. |
HashMap<String, Entity |
writeEntityWithReflection(final Object instance)
Sérialise les données de propriété d’une entité de table instance dans une carte de propriétés à l’aide de la réflexion. Cette méthode statique prend un objet instance qui représente un type d’entité table et utilise la réflexion sur son type de classe pour rechercher des méthodes permettant de sérialiser les données du instance dans le mappage de propriétés. Chaque nom de propriété et type de données dans le mappage de propriétés est comparé aux méthodes du type de classe pour une paire de méthodes getter et setter à utiliser pour la sérialisation et la désérialisation. La classe est analysée à la recherche de méthodes dont les noms correspondent au nom de propriété avec « get » et « set » ajoutés, ou avec le StoreAs jeu d’annotations avec le nom de la propriété. Les méthodes doivent avoir des types de retour ou des types de données de paramètre qui correspondent au type de données de la valeur correspondante EntityProperty . Si une telle paire est trouvée, les données sont copiées à partir de l’objet instance en appelant la méthode getter sur le instance. Les propriétés qui n’ont pas de paire de méthode avec le nom et le type de données correspondants ne sont pas copiées. |
Détails du champ
etag
protected String etag= null
Réservé à un usage interne. Valeur de l’ETag pour l’entité.
partitionKey
protected String partitionKey= null
Réservé à un usage interne. Valeur de la clé de partition dans l’entité.
rowKey
protected String rowKey= null
Réservé à un usage interne. Valeur de la clé de ligne dans l’entité.
timeStamp
protected Date timeStamp= new Date()
Réservé à un usage interne. Valeur de l’horodatage dans l’entité.
Détails du constructeur
TableServiceEntity
public TableServiceEntity()
Initialise un instance vide TableServiceEntity .
TableServiceEntity
public TableServiceEntity(String partitionKey, String rowKey)
Initialise une nouvelle instance de la classe TableServiceEntity avec la clé de partition et la clé de ligne spécifiées.
Parameters:
Détails de la méthode
getEtag
public String getEtag()
Obtient la valeur ETag à vérifier pour l’entité. Cette valeur est utilisée pour déterminer si l’entité de table a changé depuis sa dernière lecture à partir du stockage Microsoft Azure. Le client ne peut pas mettre à jour cette valeur sur le service.
Overrides:
TableServiceEntity.getEtag()Returns:
String
contenant l’ETag de l’entité.getPartitionKey
public String getPartitionKey()
Obtient la valeur PartitionKey de l’entité.
Overrides:
TableServiceEntity.getPartitionKey()Returns:
String
contenant la valeur PartitionKey de l’entité.getReflectedEntityCache
protected static ConcurrentHashMap
Le cache d’entités réfléchi met en cache les types d’entités connus et leurs dictionnaires d’entités reflétés respectifs lorsque les entités sont désérialisées et que la charge utile n’inclut pas de métadonnées JSON.
Returns:
ConcurrentHashMap<Class<?>, HashMap<String, PropertyPair>>
représentant les types d’entités connus et leurs dictionnaires d’entités reflétésgetRowKey
public String getRowKey()
Obtient la valeur RowKey de l’entité.
Overrides:
TableServiceEntity.getRowKey()Returns:
String
contenant la valeur RowKey de l’entité .getTimestamp
public Date getTimestamp()
Obtient l’horodatage de l’entité. Le serveur gère la valeur de Timestamp, qui ne peut pas être modifiée.
Overrides:
TableServiceEntity.getTimestamp()Returns:
java.util.Date
qui représente la valeur Timestamp de l’entité.isReflectedEntityCacheDisabled
public static boolean isReflectedEntityCacheDisabled()
Obtient une valeur indiquant si le cache d’entité reflété est désactivé ou non. Dans la plupart des scénarios, la désactivation du cache d’entités reflété n’est pas recommandée en raison de son effet sur les performances.
Le cache d’entités reflété stocke les types d’entités connus et leurs dictionnaires d’entités reflétés respectifs. Au lieu d’utiliser la réflexion sur un type d’entité connu, les valeurs du dictionnaire sont utilisées à la place.
Returns:
true
si le cache d’entités reflété est désactivé ; sinon, false
.
readEntity
public void readEntity(final HashMap
Remplit cette entité de table instance à l’aide du mappage des noms de propriétés aux EntityProperty valeurs typées de données.
Cette méthode appelle readEntityWithReflection(final Object instance, final HashMap<String, EntityProperty> properties, final OperationContext opContext) pour remplir l’entité de table instance la méthode est appelée à l’aide de la réflexion. Les classes d’entités de table qui s’étendent TableServiceEntity peuvent tirer parti de ce comportement en implémentant des méthodes getter et setter pour les propriétés particulières de l’entité de table dans le stockage Microsoft Azure que la classe représente.
Remplacez cette méthode dans les classes qui s’étendent TableServiceEntity pour appeler du code de sérialisation personnalisé.
Overrides:
TableServiceEntity.readEntity(final HashMap<String, EntityProperty> properties, final OperationContext opContext)Parameters:
java.util.HashMap
noms de String
propriétés aux valeurs de données à EntityProperty désérialiser et à stocker dans cette entité table instance.
Throws:
readEntityWithReflection
public static void readEntityWithReflection(final Object instance, final HashMap
Désérialise le mappage de propriété d’entité de table dans l’objet spécifié instance à l’aide de la réflexion.
Cette méthode statique prend un objet instance qui représente un type d’entité table et utilise la réflexion sur son type de classe pour rechercher des méthodes permettant de désérialiser les données du mappage de propriétés dans le instance.
Chaque nom de propriété et type de données dans le mappage de propriétés est comparé aux méthodes du type de classe pour une paire de méthodes getter et setter à utiliser pour la sérialisation et la désérialisation. La classe est analysée à la recherche de méthodes dont les noms correspondent au nom de propriété avec « get » et « set » ajoutés, ou avec le StoreAs jeu d’annotations avec le nom de la propriété. Les méthodes doivent avoir des types de retour ou des types de données de paramètre qui correspondent au type de données de la valeur correspondante EntityProperty . Si une telle paire est trouvée, les données sont copiées dans l’objet instance en appelant la méthode setter sur le instance. Les propriétés qui ne correspondent pas à une paire de méthodes par nom et par type de données ne sont pas copiées.
Parameters:
Object
à un instance d’une classe implémentant TableEntity pour désérialiser les données d’entité de table dans.
java.util.HashMap
qui mappe les String
noms de propriétés à EntityProperty des objets contenant des valeurs de données typées à désérialiser dans l’objet de paramètre instance.
Throws:
setEtag
public void setEtag(final String etag)
Définit la valeur ETag pour vérifier pour l’entité. Cette valeur est utilisée pour déterminer si l’entité de table a changé depuis sa dernière lecture à partir du stockage Microsoft Azure. Le client ne peut pas mettre à jour cette valeur sur le service.
Overrides:
TableServiceEntity.setEtag(final String etag)Parameters:
String
contenant l’ETag pour l’entité.
setPartitionKey
public void setPartitionKey(final String partitionKey)
Définit la valeur PartitionKey de l’entité.
Overrides:
TableServiceEntity.setPartitionKey(final String partitionKey)Parameters:
String
contenant la valeur PartitionKey de l’entité.
setReflectedEntityCacheDisabled
public static void setReflectedEntityCacheDisabled(boolean disableReflectedEntityCache)
Définit une valeur booléenne indiquant si le cache d’entité réfléchi est désactivé ou non. Pour la plupart des scénarios, la désactivation du cache d’entités reflétée n’est pas recommandée en raison de son effet sur les performances.
Le cache d’entités répercutée stocke les types d’entités connus et leurs dictionnaires d’entités reflétés respectifs. Au lieu d’utiliser la réflexion sur un type d’entité connu, les valeurs du dictionnaire sont utilisées à la place.
Parameters:
true
pour désactiver le cache d’entité répercutée ; sinon, false
.
setRowKey
public void setRowKey(final String rowKey)
Définit la valeur RowKey de l’entité.
Overrides:
TableServiceEntity.setRowKey(final String rowKey)Parameters:
String
contenant la valeur RowKey de l’entité.
setTimestamp
public void setTimestamp(final Date timeStamp)
Définit la valeur de l’entité. Notez que la propriété timestamp est une propriété en lecture seule, définie par le service uniquement.
Overrides:
TableServiceEntity.setTimestamp(final Date timeStamp)Parameters:
java.util.Date
contenant la timeStamp
valeur de l’entité .
writeEntity
public HashMap
Retourne un mappage des noms de propriétés aux EntityProperty valeurs typées de données créées en sérialisant cette entité de table instance.
Cette méthode appelle writeEntityWithReflection(final Object instance) pour sérialiser l’entité de table instance la méthode est appelée à l’aide de la réflexion. Les classes d’entités de table qui s’étendent TableServiceEntity peuvent tirer parti de ce comportement en implémentant des méthodes getter et setter pour les propriétés particulières de l’entité de table dans le stockage Microsoft Azure que la classe représente. Notez que les noms de propriété « PartitionKey », « RowKey » et « Timestamp » sont réservés et seront ignorés s’ils sont définis sur d’autres méthodes avec l’annotation StoreAs .
Remplacez cette méthode dans les classes qui s’étendent TableServiceEntity pour appeler du code de sérialisation personnalisé.
Overrides:
TableServiceEntity.writeEntity(final OperationContext opContext)Parameters:
Returns:
java.util.HashMap
noms de propriétés vers EntityProperty des String
valeurs typées de données représentant les propriétés sérialisées à partir de cette entité de table instance.Throws:
writeEntityWithReflection
public static HashMap
Sérialise les données de propriété d’une entité de table instance dans une carte de propriétés à l’aide de la réflexion.
Cette méthode statique prend un objet instance qui représente un type d’entité table et utilise la réflexion sur son type de classe pour rechercher des méthodes permettant de sérialiser les données du instance dans le mappage de propriétés.
Chaque nom de propriété et type de données dans le mappage de propriétés est comparé aux méthodes du type de classe pour une paire de méthodes getter et setter à utiliser pour la sérialisation et la désérialisation. La classe est analysée à la recherche de méthodes dont les noms correspondent au nom de propriété avec « get » et « set » ajoutés, ou avec le StoreAs jeu d’annotations avec le nom de la propriété. Les méthodes doivent avoir des types de retour ou des types de données de paramètre qui correspondent au type de données de la valeur correspondante EntityProperty . Si une telle paire est trouvée, les données sont copiées à partir de l’objet instance en appelant la méthode getter sur le instance. Les propriétés qui n’ont pas de paire de méthode avec le nom et le type de données correspondants ne sont pas copiées.
Parameters:
Object
à un instance d’une classe implémentant TableEntity pour sérialiser les données d’entité de table à partir de .
Returns:
java.util.HashMap
qui mappe les String
noms de propriétés à EntityProperty des objets contenant des valeurs de données typées sérialisées à partir de l’objet de paramètre instance.Throws:
S’applique à
Azure SDK for Java