TableServiceEntity Klasse
- java.
lang. Object - TableEntity
- com.
microsoft. azure. storage. table. TableServiceEntity
- com.
public class TableServiceEntity implements TableEntity
Die TableServiceEntity -Klasse stellt den Basisobjekttyp für eine Tabellenentität im Speicherdienst dar. TableServiceEntity stellt eine Basisimplementierung für die Schnittstelle bereit, die TableEntity Methoden bereitstellt, die standardmäßig alle Eigenschaften per Reflektion serialisieren und deserialisieren. Eine Tabellenentitätsklasse kann diese Klasse erweitern und die Methoden und überschreiben, um eine angepasste oder leistungsfähigere Serialisierungslogik bereitzustellen.
Durch die Verwendung von Reflektion können Unterklassen von TableServiceEntity serialisiert und deserialisiert werden, ohne dass der Serialisierungscode selbst implementiert werden muss. Wenn sowohl eine Getter-Methode als auch eine Setter-Methode für einen angegebenen Eigenschaftennamen und Datentyp gefunden werden, wird die entsprechende Methode automatisch aufgerufen, um die Daten zu serialisieren oder zu deserialisieren. Um den Automatischen Serialisierungscode nutzen zu können, sollten Ihre Tabellenentitätsklassen Getter- und Settermethoden für jede Eigenschaft in der entsprechenden Tabellenentität im Microsoft Azure-Tabellenspeicher bereitstellen. Der Spiegelungscode sucht nach Getter- und Settermethoden in Paaren des Formulars.
und
wobei PropertyName ein Eigenschaftsname für die Tabellenentität ist und type ein Java-Typ ist, der mit dem EDM-Datentyp der Eigenschaft kompatibel ist. Eine Zuordnung der Eigenschaftentypen zu ihren Java-Entsprechungen finden Sie in der folgenden Tabelle. Die StoreAs Anmerkung kann mit einem Attribut angewendet werden, um einen Eigenschaftsnamen für die Reflexion in Getter- und Settermethoden anzugeben, die nicht der Eigenschaftsnamenkonvention entsprechen. Bei Methodennamen und beim Attribut von StoreAs Anmerkungen wird die Groß-/Kleinschreibung für übereinstimmende Eigenschaftsnamen mit Reflektion beachtet. Verwenden Sie die Ignore Anmerkung, um zu verhindern, dass Methoden für die automatische Serialisierung und Deserialisierung von Reflektionen verwendet werden. Beachten Sie, dass die Namen "PartitionKey", "RowKey", "Timestamp" und "Etag" reserviert sind und ignoriert werden, wenn die StoreAs Anmerkung in einer Unterklasse festgelegt ist.
Die folgende Tabelle zeigt die unterstützten Eigenschaftsdatentypen in Microsoft Azure-Speicher und die entsprechenden Java-Typen, wenn sie deserialisiert werden.
Im MSDN-Thema Grundlegendes zum Tabellendienstdatenmodell finden Sie eine Übersicht über Tabellen, Entitäten und Eigenschaften, die im Microsoft Azure Storage-Dienst verwendet werden.
Eine Übersicht über die verfügbaren primitiven EDM-Datentypen und -namen finden Sie unter
Abschnitt Primitive Datentypen der Übersicht über das OData-Protokoll.
Feldzusammenfassung
Modifizierer und Typ | Feld und Beschreibung |
---|---|
String |
etag
Für die interne Verwendung reserviert. Der Wert des ETags für die Entität. |
String |
partitionKey
Für die interne Verwendung reserviert. Der Wert des Partitionsschlüssels in der Entität. |
String |
rowKey
Für die interne Verwendung reserviert. Der Wert des Zeilenschlüssels in der Entität. |
Date |
timeStamp
Für die interne Verwendung reserviert. Der Wert des Zeitstempels in der Entität. |
Zusammenfassung zum Konstruktor
Konstruktor | Beschreibung |
---|---|
TableServiceEntity() |
Initialisiert eine leere TableServiceEntity instance. |
TableServiceEntity(String partitionKey, String rowKey) |
Initialisiert eine neue Instanz der TableServiceEntity-Klasse mit dem angegebenen Partitionsschlüssel und Zeilenschlüssel. |
Methodenzusammenfassung
Modifizierer und Typ | Methode und Beschreibung |
---|---|
String |
getEtag()
Ruft den ETag-Wert ab, der für die Entität überprüft werden soll. Dieser Wert wird verwendet, um zu bestimmen, ob sich die Tabellenentität seit dem letzten Lesen aus Microsoft Azure Storage geändert hat. Der Client kann diesen Wert für den Dienst nicht aktualisieren. |
String |
getPartitionKey()
Ruft den PartitionKey-Wert für die Entität ab. |
ConcurrentHashMap<Class<?>, HashMap<String, PropertyPair>> |
getReflectedEntityCache()
Der reflektierte Entitätscache speichert bekannte Entitätstypen und deren jeweilige reflektierte Entitätswörterbücher zwischen, wenn Entitäten deserialisiert werden und die Nutzlast keine JSON-Metadaten enthält. |
String |
getRowKey()
Ruft den RowKey-Wert für die Entität ab. |
Date |
getTimestamp()
Ruft den Zeitstempel für die Entität ab. Der Server verwaltet die Werte von Timestamp, die nicht geändert werden können. |
boolean |
isReflectedEntityCacheDisabled()
Ruft einen Wert ab, der angibt, ob der reflektierte Entitätscache deaktiviert ist. In den meisten Szenarien wird das Deaktivieren des reflektierten Entitätscaches aufgrund seiner Auswirkungen auf die Leistung nicht empfohlen. Der reflektierte Entitätscache speichert bekannte Entitätstypen und die entsprechenden reflektierten Entitätswörterbücher. Anstelle der Reflektion für einen bekannten Entitätstyp werden stattdessen die Werte aus dem Wörterbuch verwendet. |
void |
readEntity(final HashMap<String, EntityProperty> properties, final OperationContext opContext)
Füllt diese Tabellenentität instance unter Verwendung der Zuordnung von Eigenschaftsnamen zu EntityProperty datentypisierten Werten auf. Diese Methode ruft auf, um die Tabellenentität aufzufüllenreadEntityWithReflection(final Object instance, final HashMap<String, EntityProperty> properties, final OperationContext opContext), instance die Methode mithilfe von Reflektion aufgerufen wird. Tabellenentitätsklassen, die erweitern TableServiceEntity , können dieses Verhalten nutzen, indem sie Getter- und Settermethoden für die spezifischen Eigenschaften der Tabellenentität im Microsoft Azure-Speicher implementieren, den die Klasse darstellt. Überschreiben Sie diese Methode in Klassen, die sich erweitern TableServiceEntity , um benutzerdefinierten Serialisierungscode aufzurufen. |
void |
readEntityWithReflection(final Object instance, final HashMap<String, EntityProperty> properties, final OperationContext opContext)
Deserialisiert die Zuordnung der Tabellenentitätseigenschaft in das angegebene Objekt instance mithilfe von Reflektion. Diese statische Methode verwendet ein Objekt instance, das einen Tabellenentitätstyp darstellt, und verwendet reflektion für den Klassentyp, um Methoden zum Deserialisieren der Daten aus der Eigenschaftenzuordnung in den instance. Jeder Eigenschaftenname und Datentyp in der Eigenschaftenzuordnung wird mit den Methoden im Klassentyp für ein Paar von Getter- und Settermethoden verglichen, die für die Serialisierung und Deserialisierung verwendet werden sollen. Die Klasse wird nach Methoden mit Namen überprüft, die dem Eigenschaftennamen mit "get" und "set" entsprechen, oder nach der Anmerkung, die StoreAs mit dem Eigenschaftennamen festgelegt ist. Die Methoden müssen Rückgabetypen oder Parameterdatentypen aufweisen, die dem Datentyp des entsprechenden EntityProperty Werts entsprechen. Wenn ein solches Paar gefunden wird, werden die Daten in das instance-Objekt kopiert, indem die Settermethode auf dem instance aufgerufen wird. Eigenschaften, die einem Methodenpaar nach Name und Datentyp nicht entsprechen, werden nicht kopiert. |
void |
setEtag(final String etag)
Legt den ETag-Wert fest, der für die Entität überprüft werden soll. Dieser Wert wird verwendet, um zu bestimmen, ob sich die Tabellenentität seit dem letzten Lesen aus Microsoft Azure-Speicher geändert hat. Der Client kann diesen Wert nicht für den Dienst aktualisieren. |
void |
setPartitionKey(final String partitionKey)
Legt den PartitionKey-Wert für die Entität fest. |
void |
setReflectedEntityCacheDisabled(boolean disableReflectedEntityCache)
Legt einen booleschen Wert fest, der darstellt, ob der reflektierte Entitätscache deaktiviert ist oder nicht. In den meisten Szenarien wird das Deaktivieren des reflektierten Entitätscaches aufgrund seiner Auswirkungen auf die Leistung nicht empfohlen. Im Cache der reflektierten Entität werden bekannte Entitätstypen und ihre jeweiligen reflektierten Entitätswörterbücher gespeichert. Anstelle der Reflektion für einen bekannten Entitätstyp werden stattdessen die Werte aus dem Wörterbuch verwendet. |
void |
setRowKey(final String rowKey)
Legt den RowKey-Wert für die Entität fest. |
void |
setTimestamp(final Date timeStamp)
Legt den Wert für die Entität fest. Beachten Sie, dass die Zeitstempeleigenschaft eine schreibgeschützte Eigenschaft ist, die nur vom Dienst festgelegt wird. |
HashMap<String, Entity |
writeEntity(final OperationContext opContext)
Gibt eine Zuordnung von Eigenschaftsnamen zu datentypisierten Werten zurück, EntityProperty die durch Serialisieren dieser Tabellenentität instance erstellt wurden. Diese Methode ruft auf, um die Tabellenentität writeEntityWithReflection(final Object instance) zu serialisieren, instance die Methode mithilfe von Reflektion aufgerufen wird. Tabellenentitätsklassen, die erweitern TableServiceEntity , können dieses Verhalten nutzen, indem sie Getter- und Settermethoden für die spezifischen Eigenschaften der Tabellenentität im Microsoft Azure-Speicher implementieren, den die Klasse darstellt. Beachten Sie, dass die Eigenschaftennamen "PartitionKey", "RowKey" und "Timestamp" reserviert sind und ignoriert werden, wenn sie für andere Methoden mit der StoreAs Anmerkung festgelegt werden. Überschreiben Sie diese Methode in Klassen, die sich erweitern TableServiceEntity , um benutzerdefinierten Serialisierungscode aufzurufen. |
HashMap<String, Entity |
writeEntityWithReflection(final Object instance)
Serialisiert die Eigenschaftendaten aus einer Tabellenentität instance mithilfe von Reflektion in eine Eigenschaftenzuordnung. Diese statische Methode verwendet ein Objekt instance, das einen Tabellenentitätstyp darstellt, und verwendet reflektion für den Klassentyp, um Methoden zu finden, um die Daten aus dem instance in die Eigenschaftenzuordnung zu serialisieren. Jeder Eigenschaftenname und Datentyp in der Eigenschaftenzuordnung wird mit den Methoden im Klassentyp für ein Paar von Getter- und Settermethoden verglichen, die für die Serialisierung und Deserialisierung verwendet werden sollen. Die Klasse wird nach Methoden mit Namen überprüft, die dem Eigenschaftennamen mit "get" und "set" entsprechen, oder nach der Anmerkung, die StoreAs mit dem Eigenschaftennamen festgelegt ist. Die Methoden müssen Rückgabetypen oder Parameterdatentypen aufweisen, die dem Datentyp des entsprechenden EntityProperty Werts entsprechen. Wenn ein solches Paar gefunden wird, werden die Daten aus dem instance-Objekt kopiert, indem die getter-Methode auf dem instance aufgerufen wird. Eigenschaften ohne Methodenpaar mit übereinstimmendem Namen und Datentyp werden nicht kopiert. |
Felddetails
etag
protected String etag= null
Für die interne Verwendung reserviert. Der Wert des ETags für die Entität.
partitionKey
protected String partitionKey= null
Für die interne Verwendung reserviert. Der Wert des Partitionsschlüssels in der Entität.
rowKey
protected String rowKey= null
Für die interne Verwendung reserviert. Der Wert des Zeilenschlüssels in der Entität.
timeStamp
protected Date timeStamp= new Date()
Für die interne Verwendung reserviert. Der Wert des Zeitstempels in der Entität.
Details zum Konstruktor
TableServiceEntity
public TableServiceEntity()
Initialisiert eine leere TableServiceEntity instance.
TableServiceEntity
public TableServiceEntity(String partitionKey, String rowKey)
Initialisiert eine neue Instanz der TableServiceEntity-Klasse mit dem angegebenen Partitionsschlüssel und Zeilenschlüssel.
Parameters:
String
, der den Partitionsschlüssel des TableServiceEntity zu initialisierenden darstellt.
String
, der den Zeilenschlüssel des TableServiceEntity zu initialisierenden darstellt.
Details zur Methode
getEtag
public String getEtag()
Ruft den ETag-Wert ab, der für die Entität überprüft werden soll. Dieser Wert wird verwendet, um zu bestimmen, ob sich die Tabellenentität seit dem letzten Lesen aus Microsoft Azure Storage geändert hat. Der Client kann diesen Wert für den Dienst nicht aktualisieren.
Overrides:
TableServiceEntity.getEtag()Returns:
String
, der das ETag für die Entität enthält.getPartitionKey
public String getPartitionKey()
Ruft den PartitionKey-Wert für die Entität ab.
Overrides:
TableServiceEntity.getPartitionKey()Returns:
String
, der den PartitionKey-Wert für die Entität enthält.getReflectedEntityCache
protected static ConcurrentHashMap
Der reflektierte Entitätscache speichert bekannte Entitätstypen und deren jeweilige reflektierte Entitätswörterbücher zwischen, wenn Entitäten deserialisiert werden und die Nutzlast keine JSON-Metadaten enthält.
Returns:
ConcurrentHashMap<Class<?>, HashMap<String, PropertyPair>>
, die die bekannten Entitätstypen und ihre reflektierten Entitätswörterbücher darstelltgetRowKey
public String getRowKey()
Ruft den RowKey-Wert für die Entität ab.
Overrides:
TableServiceEntity.getRowKey()Returns:
String
, der den RowKey-Wert für die Entität enthält.getTimestamp
public Date getTimestamp()
Ruft den Zeitstempel für die Entität ab. Der Server verwaltet die Werte von Timestamp, die nicht geändert werden können.
Overrides:
TableServiceEntity.getTimestamp()Returns:
java.util.Date
-Objekt, das den Timestamp-Wert für die Entität darstellt.isReflectedEntityCacheDisabled
public static boolean isReflectedEntityCacheDisabled()
Ruft einen Wert ab, der angibt, ob der reflektierte Entitätscache deaktiviert ist. In den meisten Szenarien wird das Deaktivieren des reflektierten Entitätscaches aufgrund seiner Auswirkungen auf die Leistung nicht empfohlen.
Der reflektierte Entitätscache speichert bekannte Entitätstypen und die entsprechenden reflektierten Entitätswörterbücher. Anstelle der Reflektion für einen bekannten Entitätstyp werden stattdessen die Werte aus dem Wörterbuch verwendet.
Returns:
true
, wenn der reflektierte Entitätscache deaktiviert ist; false
andernfalls .
readEntity
public void readEntity(final HashMap
Füllt diese Tabellenentität instance unter Verwendung der Zuordnung von Eigenschaftsnamen zu EntityProperty datentypisierten Werten auf.
Diese Methode ruft auf, um die Tabellenentität aufzufüllenreadEntityWithReflection(final Object instance, final HashMap<String, EntityProperty> properties, final OperationContext opContext), instance die Methode mithilfe von Reflektion aufgerufen wird. Tabellenentitätsklassen, die erweitern TableServiceEntity , können dieses Verhalten nutzen, indem sie Getter- und Settermethoden für die spezifischen Eigenschaften der Tabellenentität im Microsoft Azure-Speicher implementieren, den die Klasse darstellt.
Überschreiben Sie diese Methode in Klassen, die sich erweitern TableServiceEntity , um benutzerdefinierten Serialisierungscode aufzurufen.
Overrides:
TableServiceEntity.readEntity(final HashMap<String, EntityProperty> properties, final OperationContext opContext)Parameters:
java.util.HashMap
String
Eigenschaftennamen für EntityProperty Datenwerte, die deserialisiert und in dieser Tabellenentität gespeichert instance.
Throws:
readEntityWithReflection
public static void readEntityWithReflection(final Object instance, final HashMap
Deserialisiert die Zuordnung der Tabellenentitätseigenschaft in das angegebene Objekt instance mithilfe von Reflektion.
Diese statische Methode verwendet ein Objekt instance, das einen Tabellenentitätstyp darstellt, und verwendet reflektion für den Klassentyp, um Methoden zum Deserialisieren der Daten aus der Eigenschaftenzuordnung in den instance.
Jeder Eigenschaftenname und Datentyp in der Eigenschaftenzuordnung wird mit den Methoden im Klassentyp für ein Paar von Getter- und Settermethoden verglichen, die für die Serialisierung und Deserialisierung verwendet werden sollen. Die Klasse wird nach Methoden mit Namen überprüft, die dem Eigenschaftennamen mit "get" und "set" entsprechen, oder nach der Anmerkung, die StoreAs mit dem Eigenschaftennamen festgelegt ist. Die Methoden müssen Rückgabetypen oder Parameterdatentypen aufweisen, die dem Datentyp des entsprechenden EntityProperty Werts entsprechen. Wenn ein solches Paar gefunden wird, werden die Daten in das instance-Objekt kopiert, indem die Settermethode auf dem instance aufgerufen wird. Eigenschaften, die einem Methodenpaar nach Name und Datentyp nicht entsprechen, werden nicht kopiert.
Parameters:
Object
Verweis auf eine instance einer Klasse, die zum Deserialisieren der Tabellenentitätsdaten implementiertTableEntity.
java.util.HashMap
-Objekt, das Eigenschaftennamen EntityProperty Objekten zuordnetString
, die typisierte Datenwerte enthalten, die in das instance Parameterobjekt deserialisiert werden sollen.
Throws:
setEtag
public void setEtag(final String etag)
Legt den ETag-Wert fest, der für die Entität überprüft werden soll. Dieser Wert wird verwendet, um zu bestimmen, ob sich die Tabellenentität seit dem letzten Lesen aus Microsoft Azure-Speicher geändert hat. Der Client kann diesen Wert nicht für den Dienst aktualisieren.
Overrides:
TableServiceEntity.setEtag(final String etag)Parameters:
String
, die das ETag für die Entität enthält.
setPartitionKey
public void setPartitionKey(final String partitionKey)
Legt den PartitionKey-Wert für die Entität fest.
Overrides:
TableServiceEntity.setPartitionKey(final String partitionKey)Parameters:
String
, der den PartitionKey-Wert für die Entität enthält.
setReflectedEntityCacheDisabled
public static void setReflectedEntityCacheDisabled(boolean disableReflectedEntityCache)
Legt einen booleschen Wert fest, der darstellt, ob der reflektierte Entitätscache deaktiviert ist oder nicht. In den meisten Szenarien wird das Deaktivieren des reflektierten Entitätscaches aufgrund seiner Auswirkungen auf die Leistung nicht empfohlen.
Im Cache der reflektierten Entität werden bekannte Entitätstypen und ihre jeweiligen reflektierten Entitätswörterbücher gespeichert. Anstelle der Reflektion für einen bekannten Entitätstyp werden stattdessen die Werte aus dem Wörterbuch verwendet.
Parameters:
true
, um den Cache der reflektierten Entität zu deaktivieren; false
andernfalls .
setRowKey
public void setRowKey(final String rowKey)
Legt den RowKey-Wert für die Entität fest.
Overrides:
TableServiceEntity.setRowKey(final String rowKey)Parameters:
String
, der den RowKey-Wert für die Entität enthält.
setTimestamp
public void setTimestamp(final Date timeStamp)
Legt den Wert für die Entität fest. Beachten Sie, dass die Zeitstempeleigenschaft eine schreibgeschützte Eigenschaft ist, die nur vom Dienst festgelegt wird.
Overrides:
TableServiceEntity.setTimestamp(final Date timeStamp)Parameters:
java.util.Date
, der den timeStamp
Wert für die Entität enthält.
writeEntity
public HashMap
Gibt eine Zuordnung von Eigenschaftsnamen zu datentypisierten Werten zurück, EntityProperty die durch Serialisieren dieser Tabellenentität instance erstellt wurden.
Diese Methode ruft auf, um die Tabellenentität writeEntityWithReflection(final Object instance) zu serialisieren, instance die Methode mithilfe von Reflektion aufgerufen wird. Tabellenentitätsklassen, die erweitern TableServiceEntity , können dieses Verhalten nutzen, indem sie Getter- und Settermethoden für die spezifischen Eigenschaften der Tabellenentität im Microsoft Azure-Speicher implementieren, den die Klasse darstellt. Beachten Sie, dass die Eigenschaftennamen "PartitionKey", "RowKey" und "Timestamp" reserviert sind und ignoriert werden, wenn sie für andere Methoden mit der StoreAs Anmerkung festgelegt werden.
Überschreiben Sie diese Methode in Klassen, die sich erweitern TableServiceEntity , um benutzerdefinierten Serialisierungscode aufzurufen.
Overrides:
TableServiceEntity.writeEntity(final OperationContext opContext)Parameters:
Returns:
java.util.HashMap
von String
Eigenschaftennamen für EntityProperty datentypierte Werte, die die eigenschaften darstellen, die aus dieser Tabellenentität serialisiert instance.Throws:
writeEntityWithReflection
public static HashMap
Serialisiert die Eigenschaftendaten aus einer Tabellenentität instance mithilfe von Reflektion in eine Eigenschaftenzuordnung.
Diese statische Methode verwendet ein Objekt instance, das einen Tabellenentitätstyp darstellt, und verwendet reflektion für den Klassentyp, um Methoden zu finden, um die Daten aus dem instance in die Eigenschaftenzuordnung zu serialisieren.
Jeder Eigenschaftenname und Datentyp in der Eigenschaftenzuordnung wird mit den Methoden im Klassentyp für ein Paar von Getter- und Settermethoden verglichen, die für die Serialisierung und Deserialisierung verwendet werden sollen. Die Klasse wird nach Methoden mit Namen überprüft, die dem Eigenschaftennamen mit "get" und "set" entsprechen, oder nach der Anmerkung, die StoreAs mit dem Eigenschaftennamen festgelegt ist. Die Methoden müssen Rückgabetypen oder Parameterdatentypen aufweisen, die dem Datentyp des entsprechenden EntityProperty Werts entsprechen. Wenn ein solches Paar gefunden wird, werden die Daten aus dem instance-Objekt kopiert, indem die getter-Methode auf dem instance aufgerufen wird. Eigenschaften ohne Methodenpaar mit übereinstimmendem Namen und Datentyp werden nicht kopiert.
Parameters:
Object
Verweis auf einen instance einer Klasse, die zum Serialisieren der Tabellenentitätsdaten implementiertTableEntity.
Returns:
java.util.HashMap
Objekt, das Eigenschaftennamen EntityProperty Objekten zuordnetString
, die typisierte Datenwerte enthalten, die aus dem instance Parameterobjekt serialisiert werden.Throws:
Gilt für:
Azure SDK for Java