TableServiceEntity クラス
- java.
lang. Object - TableEntity
- com.
microsoft. azure. storage. table. TableServiceEntity
- com.
public class TableServiceEntity implements TableEntity
クラスは TableServiceEntity 、Storage サービスのテーブル エンティティの基本オブジェクト型を表します。 TableServiceEntity は、リフレクションを介してすべてのプロパティを TableEntity 既定でシリアル化および逆シリアル化する メソッドと を提供する インターフェイスの基本実装を提供します。 テーブル エンティティ クラスでは、このクラスを拡張し、 メソッドと メソッドをオーバーライドして、カスタマイズされた、またはよりパフォーマンスの高いシリアル化ロジックを提供できます。
リフレクションを使用すると、 の TableServiceEntity サブクラスをシリアル化および逆シリアル化できます。シリアル化コード自体を実装する必要はありません。 特定のプロパティ名とデータ型に対して getter メソッドと setter メソッドの両方が見つかった場合、適切なメソッドが自動的に呼び出され、データがシリアル化または逆シリアル化されます。 自動シリアル化コードを利用するには、テーブル エンティティ クラスで、Microsoft Azure テーブル ストレージ内の対応するテーブル エンティティ内の各プロパティに対して getter メソッドと setter メソッドを提供する必要があります。 リフレクション コードは、フォームのペアで getter メソッドと setter メソッドを検索します
および
ここで 、PropertyName はテーブル エンティティのプロパティ名であり、 型 は プロパティの EDM データ型と互換性のある Java 型です。 プロパティ型と Java の同等のマップについては、次の表を参照してください。 注釈を StoreAs 属性と共に適用して、プロパティ名規則に従わない getter メソッドと setter メソッドでリフレクションのプロパティ名を指定できます。 メソッド名と注釈の StoreAs 属性は、プロパティ名とリフレクションを照合する場合、大文字と小文字が区別されます。 注釈を Ignore 使用して、自動シリアル化と逆シリアル化のためにリフレクションによってメソッドが使用されないようにします。 "PartitionKey"、"RowKey"、"Timestamp"、および "Etag" という名前は予約されており、サブクラスの注釈で StoreAs 設定されている場合は無視されることに注意してください。
次の表は、Microsoft Azure Storage でサポートされているプロパティ データ型と、逆シリアル化された場合の対応する Java 型を示しています。
Microsoft Azure Storage サービスで使用されるテーブル、エンティティ、およびプロパティの概要については、MSDN トピック「Table Service データ モデルについて」を参照してください。
使用可能な EDM プリミティブ データ型と名前の概要については、
OData プロトコルの概要に関するページの「プリミティブ データ型」セクション。
フィールドの概要
修飾子と型 | フィールドと説明 |
---|---|
String |
etag
内部使用のために予約されています。 エンティティの ETag の値。 |
String |
partitionKey
内部使用のために予約されています。 エンティティ内のパーティション キーの値。 |
String |
rowKey
内部使用のために予約されています。 エンティティ内の行キーの値。 |
Date |
timeStamp
内部使用のために予約されています。 エンティティ内の Timestamp の値。 |
コンストラクターの概要
コンストラクター | 説明 |
---|---|
TableServiceEntity() |
空 TableServiceEntity のインスタンスを初期化します。 |
TableServiceEntity(String partitionKey, String rowKey) |
指定されたパーティション キーと行キーを使用して、TableServiceEntity クラスの新しいインスタンスを初期化します。 |
メソッドの概要
修飾子と型 | メソッドと説明 |
---|---|
String |
getEtag()
エンティティを検証する ETag 値を取得します。 この値は、テーブル エンティティが Microsoft Azure ストレージから最後に読み取られた後に変更されたかどうかを判断するために使用されます。 クライアントは、サービスでこの値を更新できません。 |
String |
getPartitionKey()
エンティティの PartitionKey 値を取得します。 |
ConcurrentHashMap<Class<?>, HashMap<String, PropertyPair>> |
getReflectedEntityCache()
反映されたエンティティ キャッシュは、エンティティが逆シリアル化され、ペイロードに JSON メタデータが含まれていない場合に、既知のエンティティ型とそれぞれの反映されたエンティティ ディクショナリをキャッシュします。 |
String |
getRowKey()
エンティティの RowKey 値を取得します。 |
Date |
getTimestamp()
エンティティのタイムスタンプを取得します。 一方、サーバーは Timestamp の値を管理します。この値は変更できません。 |
boolean |
isReflectedEntityCacheDisabled()
反映されたエンティティ キャッシュが無効かどうかを示す値を取得します。 ほとんどのシナリオでは、パフォーマンスへの影響のため、反映されたエンティティ キャッシュを無効にすることはお勧めしません。 反映されたエンティティ キャッシュには、既知のエンティティ型と、それぞれの反映されたエンティティ ディクショナリが格納されます。 既知のエンティティ型でリフレクションを使用するのではなく、代わりにディクショナリの値が使用されます。 |
void |
readEntity(final HashMap<String, EntityProperty> properties, final OperationContext opContext)
プロパティ名のマップを使用して、このテーブル エンティティ インスタンスにデータ型指定された値を EntityProperty 設定します。 このメソッドは を readEntityWithReflection(final Object instance, final HashMap<String, EntityProperty> properties, final OperationContext opContext) 呼び出して、リフレクションを使用してメソッドが呼び出されるテーブル エンティティ インスタンスを設定します。 拡張 TableServiceEntity するテーブル エンティティ クラスは、クラスが表す Microsoft Azure Storage のテーブル エンティティの特定のプロパティに対して getter メソッドと setter メソッドを実装することで、この動作を利用できます。 カスタム シリアル化コードを呼び出すように 拡張 TableServiceEntity するクラスで、このメソッドをオーバーライドします。 |
void |
readEntityWithReflection(final Object instance, final HashMap<String, EntityProperty> properties, final OperationContext opContext)
リフレクションを使用して、テーブル エンティティ プロパティ マップを指定したオブジェクト インスタンスに逆シリアル化します。 この静的メソッドは、テーブル エンティティ型を表すオブジェクト インスタンスを受け取り、そのクラス型のリフレクションを使用して、プロパティ マップからインスタンスにデータを逆シリアル化するメソッドを検索します。 プロパティ マップ内の各プロパティ名とデータ型は、シリアル化と逆シリアル化に使用する getter メソッドと setter メソッドのペアのクラス型のメソッドと比較されます。 クラスは、プロパティ名の先頭に "get" と "set" が付加された名前、またはプロパティ名で設定された注釈を持つ StoreAs メソッドをスキャンします。 メソッドには、対応する EntityProperty 値のデータ型と一致する戻り値の型またはパラメーター データ型が必要です。 このようなペアが見つかった場合は、インスタンスで setter メソッドを呼び出すことによって、データがインスタンス オブジェクトにコピーされます。 名前とデータ型によってメソッドペアと一致しないプロパティはコピーされません。 |
void |
setEtag(final String etag)
エンティティを検証する ETag 値を設定します。 この値は、テーブル エンティティが Microsoft Azure ストレージから最後に読み取られた後に変更されたかどうかを判断するために使用されます。 クライアントは、サービスでこの値を更新できません。 |
void |
setPartitionKey(final String partitionKey)
エンティティの PartitionKey 値を設定します。 |
void |
setReflectedEntityCacheDisabled(boolean disableReflectedEntityCache)
反映されたエンティティ キャッシュが無効かどうかを表すブール値を設定します。 ほとんどのシナリオでは、パフォーマンスへの影響のため、反映されたエンティティ キャッシュを無効にすることはお勧めしません。 反映されたエンティティ キャッシュには、既知のエンティティ型と、それぞれの反映されたエンティティ ディクショナリが格納されます。 既知のエンティティ型でリフレクションを使用するのではなく、代わりにディクショナリの値が使用されます。 |
void |
setRowKey(final String rowKey)
エンティティの RowKey 値を設定します。 |
void |
setTimestamp(final Date timeStamp)
エンティティの値を設定します。 timestamp プロパティは読み取り専用プロパティであり、サービスによってのみ設定されることに注意してください。 |
HashMap<String, Entity |
writeEntity(final OperationContext opContext)
このテーブル エンティティ インスタンスをシリアル化することによって作成されたデータ型指定された値に対する EntityProperty プロパティ名のマップを返します。 このメソッドは、 writeEntityWithReflection(final Object instance) を呼び出して、リフレクションを使用してメソッドが呼び出されるテーブル エンティティ インスタンスをシリアル化します。 拡張 TableServiceEntity するテーブル エンティティ クラスは、クラスが表す Microsoft Azure Storage のテーブル エンティティの特定のプロパティに対して getter メソッドと setter メソッドを実装することで、この動作を利用できます。 プロパティ名 "PartitionKey"、"RowKey"、および "Timestamp" は予約されており、注釈を持つ StoreAs 他のメソッドに設定されている場合は無視されることに注意してください。 カスタム シリアル化コードを呼び出すように 拡張 TableServiceEntity するクラスで、このメソッドをオーバーライドします。 |
HashMap<String, Entity |
writeEntityWithReflection(final Object instance)
リフレクションを使用して、テーブル エンティティ インスタンスのプロパティ データをプロパティ マップにシリアル化します。 この静的メソッドは、テーブル エンティティ型を表すオブジェクト インスタンスを受け取り、そのクラス型のリフレクションを使用して、インスタンスからプロパティ マップにデータをシリアル化するメソッドを検索します。 プロパティ マップ内の各プロパティ名とデータ型は、シリアル化と逆シリアル化に使用する getter メソッドと setter メソッドのペアのクラス型のメソッドと比較されます。 クラスは、プロパティ名の先頭に "get" と "set" が付加された名前、またはプロパティ名で設定された注釈を持つ StoreAs メソッドをスキャンします。 メソッドには、対応する EntityProperty 値のデータ型と一致する戻り値の型またはパラメーター データ型が必要です。 このようなペアが見つかった場合は、インスタンスで getter メソッドを呼び出すことによって、インスタンス オブジェクトからデータがコピーされます。 名前とデータ型が一致するメソッド ペアがないプロパティはコピーされません。 |
フィールドの詳細
etag
protected String etag= null
内部使用のために予約されています。 エンティティの ETag の値。
partitionKey
protected String partitionKey= null
内部使用のために予約されています。 エンティティ内のパーティション キーの値。
rowKey
protected String rowKey= null
内部使用のために予約されています。 エンティティ内の行キーの値。
timeStamp
protected Date timeStamp= new Date()
内部使用のために予約されています。 エンティティ内の Timestamp の値。
コンストラクターの詳細
TableServiceEntity
public TableServiceEntity()
空 TableServiceEntity のインスタンスを初期化します。
TableServiceEntity
public TableServiceEntity(String partitionKey, String rowKey)
指定されたパーティション キーと行キーを使用して、TableServiceEntity クラスの新しいインスタンスを初期化します。
Parameters:
メソッドの詳細
getEtag
public String getEtag()
エンティティを検証する ETag 値を取得します。 この値は、テーブル エンティティが Microsoft Azure ストレージから最後に読み取られた後に変更されたかどうかを判断するために使用されます。 クライアントは、サービスでこの値を更新できません。
Overrides:
TableServiceEntity.getEtag()Returns:
String
エンティティの ETag を格納している 。getPartitionKey
public String getPartitionKey()
エンティティの PartitionKey 値を取得します。
Overrides:
TableServiceEntity.getPartitionKey()Returns:
String
エンティティの PartitionKey 値を含む 。getReflectedEntityCache
protected static ConcurrentHashMap
反映されたエンティティ キャッシュは、エンティティが逆シリアル化され、ペイロードに JSON メタデータが含まれていない場合に、既知のエンティティ型とそれぞれの反映されたエンティティ ディクショナリをキャッシュします。
Returns:
ConcurrentHashMap<Class<?>, HashMap<String, PropertyPair>>
既知のエンティティ型とその反映されたエンティティ ディクショナリを表す 。getRowKey
public String getRowKey()
エンティティの RowKey 値を取得します。
Overrides:
TableServiceEntity.getRowKey()Returns:
String
エンティティの RowKey 値を格納している 。getTimestamp
public Date getTimestamp()
エンティティのタイムスタンプを取得します。 一方、サーバーは Timestamp の値を管理します。この値は変更できません。
Overrides:
TableServiceEntity.getTimestamp()Returns:
java.util.Date
Timestamp 値を表す オブジェクト。isReflectedEntityCacheDisabled
public static boolean isReflectedEntityCacheDisabled()
反映されたエンティティ キャッシュが無効かどうかを示す値を取得します。 ほとんどのシナリオでは、パフォーマンスへの影響のため、反映されたエンティティ キャッシュを無効にすることはお勧めしません。
反映されたエンティティ キャッシュには、既知のエンティティ型と、それぞれの反映されたエンティティ ディクショナリが格納されます。 既知のエンティティ型でリフレクションを使用するのではなく、代わりにディクショナリの値が使用されます。
Returns:
true
反映されたエンティティ キャッシュが無効になっている場合は 。それ以外の場合は false
。
readEntity
public void readEntity(final HashMap
プロパティ名のマップを使用して、このテーブル エンティティ インスタンスにデータ型指定された値を EntityProperty 設定します。
このメソッドは を readEntityWithReflection(final Object instance, final HashMap<String, EntityProperty> properties, final OperationContext opContext) 呼び出して、リフレクションを使用してメソッドが呼び出されるテーブル エンティティ インスタンスを設定します。 拡張 TableServiceEntity するテーブル エンティティ クラスは、クラスが表す Microsoft Azure Storage のテーブル エンティティの特定のプロパティに対して getter メソッドと setter メソッドを実装することで、この動作を利用できます。
カスタム シリアル化コードを呼び出すように 拡張 TableServiceEntity するクラスで、このメソッドをオーバーライドします。
Overrides:
TableServiceEntity.readEntity(final HashMap<String, EntityProperty> properties, final OperationContext opContext)Parameters:
java.util.HashMap
String
逆シリアル化してEntityPropertyこのテーブル エンティティ インスタンスに格納するデータ値に対するプロパティ名の 。
Throws:
readEntityWithReflection
public static void readEntityWithReflection(final Object instance, final HashMap
リフレクションを使用して、テーブル エンティティ プロパティ マップを指定したオブジェクト インスタンスに逆シリアル化します。
この静的メソッドは、テーブル エンティティ型を表すオブジェクト インスタンスを受け取り、そのクラス型のリフレクションを使用して、プロパティ マップからインスタンスにデータを逆シリアル化するメソッドを検索します。
プロパティ マップ内の各プロパティ名とデータ型は、シリアル化と逆シリアル化に使用する getter メソッドと setter メソッドのペアのクラス型のメソッドと比較されます。 クラスは、プロパティ名の先頭に "get" と "set" が付加された名前、またはプロパティ名で設定された注釈を持つ StoreAs メソッドをスキャンします。 メソッドには、対応する EntityProperty 値のデータ型と一致する戻り値の型またはパラメーター データ型が必要です。 このようなペアが見つかった場合は、インスタンスで setter メソッドを呼び出すことによって、データがインスタンス オブジェクトにコピーされます。 名前とデータ型によってメソッドペアと一致しないプロパティはコピーされません。
Parameters:
java.util.HashMap
インスタンス パラメーター オブジェクトに逆シリアル化するためにEntityProperty、型指定されたデータ値を含むオブジェクトにプロパティ名をマップString
する オブジェクト。
Throws:
setEtag
public void setEtag(final String etag)
エンティティを検証する ETag 値を設定します。 この値は、テーブル エンティティが Microsoft Azure ストレージから最後に読み取られた後に変更されたかどうかを判断するために使用されます。 クライアントは、サービスでこの値を更新できません。
Overrides:
TableServiceEntity.setEtag(final String etag)Parameters:
String
エンティティの ETag を格納している 。
setPartitionKey
public void setPartitionKey(final String partitionKey)
エンティティの PartitionKey 値を設定します。
Overrides:
TableServiceEntity.setPartitionKey(final String partitionKey)Parameters:
String
エンティティの PartitionKey 値を含む 。
setReflectedEntityCacheDisabled
public static void setReflectedEntityCacheDisabled(boolean disableReflectedEntityCache)
反映されたエンティティ キャッシュが無効かどうかを表すブール値を設定します。 ほとんどのシナリオでは、パフォーマンスへの影響のため、反映されたエンティティ キャッシュを無効にすることはお勧めしません。
反映されたエンティティ キャッシュには、既知のエンティティ型と、それぞれの反映されたエンティティ ディクショナリが格納されます。 既知のエンティティ型でリフレクションを使用するのではなく、代わりにディクショナリの値が使用されます。
Parameters:
true
反映されたエンティティ キャッシュを無効にする場合は 。それ以外の場合は false
。
setRowKey
public void setRowKey(final String rowKey)
エンティティの RowKey 値を設定します。
Overrides:
TableServiceEntity.setRowKey(final String rowKey)Parameters:
String
エンティティの RowKey 値を格納している 。
setTimestamp
public void setTimestamp(final Date timeStamp)
エンティティの値を設定します。 timestamp プロパティは読み取り専用プロパティであり、サービスによってのみ設定されることに注意してください。
Overrides:
TableServiceEntity.setTimestamp(final Date timeStamp)Parameters:
java.util.Date
エンティティの値をtimeStamp
格納している 。
writeEntity
public HashMap
このテーブル エンティティ インスタンスをシリアル化することによって作成されたデータ型指定された値に対する EntityProperty プロパティ名のマップを返します。
このメソッドは、 writeEntityWithReflection(final Object instance) を呼び出して、リフレクションを使用してメソッドが呼び出されるテーブル エンティティ インスタンスをシリアル化します。 拡張 TableServiceEntity するテーブル エンティティ クラスは、クラスが表す Microsoft Azure Storage のテーブル エンティティの特定のプロパティに対して getter メソッドと setter メソッドを実装することで、この動作を利用できます。 プロパティ名 "PartitionKey"、"RowKey"、および "Timestamp" は予約されており、注釈を持つ StoreAs 他のメソッドに設定されている場合は無視されることに注意してください。
カスタム シリアル化コードを呼び出すように 拡張 TableServiceEntity するクラスで、このメソッドをオーバーライドします。
Overrides:
TableServiceEntity.writeEntity(final OperationContext opContext)Parameters:
Returns:
Throws:
writeEntityWithReflection
public static HashMap
リフレクションを使用して、テーブル エンティティ インスタンスのプロパティ データをプロパティ マップにシリアル化します。
この静的メソッドは、テーブル エンティティ型を表すオブジェクト インスタンスを受け取り、そのクラス型のリフレクションを使用して、インスタンスからプロパティ マップにデータをシリアル化するメソッドを検索します。
プロパティ マップ内の各プロパティ名とデータ型は、シリアル化と逆シリアル化に使用する getter メソッドと setter メソッドのペアのクラス型のメソッドと比較されます。 クラスは、プロパティ名の先頭に "get" と "set" が付加された名前、またはプロパティ名で設定された注釈を持つ StoreAs メソッドをスキャンします。 メソッドには、対応する EntityProperty 値のデータ型と一致する戻り値の型またはパラメーター データ型が必要です。 このようなペアが見つかった場合は、インスタンスで getter メソッドを呼び出すことによって、インスタンス オブジェクトからデータがコピーされます。 名前とデータ型が一致するメソッド ペアがないプロパティはコピーされません。
Parameters:
Returns:
java.util.HashMap
インスタンス パラメーター オブジェクトからシリアル化された型指定されたデータ値を含むオブジェクトにプロパティ名EntityPropertyをマップString
する オブジェクト。Throws:
適用対象
Azure SDK for Java