TableEntity Schnittstelle
public interface TableEntity
Eine Schnittstelle, die für Tabellenentitätstypen erforderlich ist. Die TableEntity -Schnittstelle deklariert getter- und setter-Methoden für die allgemeinen Entitätseigenschaften und methoden für die Serialisierung und Deserialisierung aller Entitätseigenschaften mithilfe einer Eigenschaftenzuordnung. Erstellen Sie Klassen, die implementieren TableEntity , um das Speichern, Abrufen, Serialisieren und Deserialisieren von Eigenschaften anzupassen und zusätzliche benutzerdefinierte Logik für eine Tabellenentität bereitzustellen.
Die Storage-Clientbibliothek enthält zwei Implementierungen von TableEntity , die einfachen Zugriff auf Eigenschaften und Serialisierung ermöglichen:
DynamicTableEntityTableEntity implementiert und stellt eine einfache Eigenschaftenzuordnung zum Speichern und Abrufen von Eigenschaften bereit. Verwenden Sie einen DynamicTableEntity für den einfachen Zugriff auf Entitätseigenschaften, wenn nur eine Teilmenge der Eigenschaften zurückgegeben wird (z. B. durch eine Select-Klausel in einer Abfrage), oder für den, wenn Ihre Abfrage mehrere Entitätstypen mit unterschiedlichen Eigenschaften zurückgeben kann. Dieser Typ kann auch verwendet werden, um Massentabellenaktualisierungen von heterogenen Entitäten ohne Verlust von Eigenschaftsinformationen durchzuführen.
TableServiceEntity ist eine Implementierung von TableEntity , die reflektionsbasierte Serialisierung und des Deserialisierungsverhaltens in den Methoden und verwendet. TableServiceEntity-abgeleitete Klassen mit Methoden, die einer Konvention für Typen und Benennungen folgen, werden automatisch serialisiert und deserialisiert.
Jede Klasse, die implementiert, kann das automatische reflektionsbasierte Serialisierungs- und Deserialisierungsverhalten TableEntity in TableServiceEntity nutzen, indem die statischen Methoden in und in aufgerufen werden. Die -Klasse muss Methoden bereitstellen, die der Typ- und Namenskonvention folgen, die automatisch serialisiert und deserialisiert werden sollen. Wenn sowohl eine getter-Methode als auch eine Settermethode für einen bestimmten Eigenschaftsnamen und Datentyp gefunden werden, wird die entsprechende Methode automatisch aufgerufen, um die Daten zu serialisieren oder zu deserialisieren. Der Reflektionscode sucht nach Getter- und Settermethoden in Paaren des Formulars.
und
Dabei ist PropertyName ein Eigenschaftenname für die Tabellenentität und type ein Java-Typ, der mit dem EDM-Datentyp der Eigenschaft kompatibel ist. Eine Zuordnung von Eigenschaftstypen zu ihren Java-Entsprechungen finden Sie in der Tabelle in der Klassenbeschreibung TableServiceEntity für. Die StoreAs Anmerkung kann mit einem -Attribut angewendet werden, um einen Eigenschaftsnamen für die Reflektion auf Getter- und Settermethoden anzugeben, die nicht der Konvention des Eigenschaftennamens entsprechen. Bei Methodennamen und dem Attribut von StoreAs Anmerkungen wird die Groß-/Kleinschreibung für den Abgleich von Eigenschaftsnamen mit Reflektion beachtet. Verwenden Sie die Ignore -Anmerkung, um zu verhindern, dass Methoden durch Reflektion für die automatische Serialisierung und Deserialisierung verwendet werden. Beachten Sie, dass die Namen "PartitionKey", "RowKey", "Timestamp" und "Etag" reserviert sind und ignoriert werden, wenn sie mit der StoreAs Anmerkung in einer Unterklasse festgelegt werden, die die Reflektionsmethoden verwendet.
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-Speicher geändert hat. Der Client kann diesen Wert nicht für den Dienst aktualisieren. |
String |
getPartitionKey()
Ruft den PartitionKey-Wert für die Entität ab. |
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. |
void |
readEntity(HashMap<String, EntityProperty> properties, OperationContext opContext)
Füllt eine instance des Objekts auf, das mithilfe des angegebenen properties-Parameters implementiert TableEntity wird, der eine Zuordnung von Eigenschaftsnamen zu EntityProperty datentypierten Werten darstellt. |
void |
setEtag(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(String partitionKey)
Legt den PartitionKey-Wert für die Entität fest. |
void |
setRowKey(String rowKey)
Legt den RowKey-Wert für die Entität fest. |
void |
setTimestamp(Date timeStamp)
Legt den Zeitstempelwert für die Entität fest. Beachten Sie, dass der Zeitstempel eine schreibgeschützte Eigenschaft für den Dienst ist und nicht vom Benutzer festgelegt werden sollte. |
HashMap<String, Entity |
writeEntity(OperationContext opContext)
Gibt eine Zuordnung von Eigenschaftsnamen zu EntityProperty datentypisierten Werten zurück, die den serialisierten Inhalt der Tabellenentität instance. |
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-Speicher geändert hat. Der Client kann diesen Wert nicht für den Dienst aktualisieren.
Returns:
String
, der das ETag für die Entität darstellt.getPartitionKey
public String getPartitionKey()
Ruft den PartitionKey-Wert für die Entität ab.
Returns:
String
, der den PartitionKey-Wert für die Entität darstellt.getRowKey
public String getRowKey()
Ruft den RowKey-Wert für die Entität ab.
Returns:
String
, der den RowKey-Wert für die Entität darstellt.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.
Returns:
java.util.Date
-Objekt, das den Timestamp-Wert für die Entität darstellt.readEntity
public void readEntity(HashMap
Füllt eine instance des Objekts auf, das mithilfe des angegebenen properties-Parameters implementiert TableEntity wird, der eine Zuordnung von Eigenschaftsnamen zu EntityProperty datentypierten Werten darstellt.
Parameters:
java.util.HashMap
von String
zu EntityProperty datentypierten Werte, die zum Auffüllen der Tabellenentität instance verwendet werden sollen.
Throws:
setEtag
public void setEtag(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.
Parameters:
String
, der das ETag angibt, das für die Entität festgelegt werden soll.
setPartitionKey
public void setPartitionKey(String partitionKey)
Legt den PartitionKey-Wert für die Entität fest.
Parameters:
String
, der den PartitionKey-Wert angibt, der für die Entität festgelegt werden soll.
setRowKey
public void setRowKey(String rowKey)
Legt den RowKey-Wert für die Entität fest.
Parameters:
String
, der den RowKey-Wert angibt, der für die Entität festgelegt werden soll.
setTimestamp
public void setTimestamp(Date timeStamp)
Legt den Zeitstempelwert für die Entität fest. Beachten Sie, dass der Zeitstempel eine schreibgeschützte Eigenschaft für den Dienst ist und nicht vom Benutzer festgelegt werden sollte.
Parameters:
java.util.Date
, der den Zeitstempelwert angibt, der für die Entität festgelegt werden soll.
writeEntity
public HashMap
Gibt eine Zuordnung von Eigenschaftsnamen zu EntityProperty datentypisierten Werten zurück, die den serialisierten Inhalt der Tabellenentität instance.
Parameters:
Returns:
java.util.HashMap
von String
Eigenschaftennamen für EntityProperty datentypisierte Werte, die die Eigenschaften der Tabellenentität darstellen.Throws:
Gilt für:
Azure SDK for Java