Hitachi

インメモリデータグリッド Hitachi Elastic Application Data Store ユーザーズガイド


18.2.8 Storeインタフェース

〈この項の構成〉

(1) 説明

ユーザファンクションの実行時にデータを操作するインタフェースです。

(2) インタフェース名

com.hitachi.software.xeads.func.store.Store

(3) メソッド一覧

Storeインタフェースが提供するメソッド一覧を次の表に示します。

メソッド名

説明

createKey()

キャッシュ内で操作可能なkeyを示すインスタンスを生成します。

createValue()

指定したvalueをシリアライズして,キャッシュ内で操作可能なvalueインスタンスを生成します。

createGroup()

キャッシュ内で操作可能なグループを示すインスタンスを生成します。

【非推奨】getGroup()

【非推奨】ユーザファンクションの実行時に,EADSクライアントで指定したグループを操作するためのインスタンスを取得します。

【非推奨】getGroup()(グループ名指定)

【非推奨】指定したグループを操作するためのインスタンスを取得します。

containsKey()(Keyインタフェース指定)

指定したkeyに関連づけられたvalueが,キャッシュに格納されているかどうかを取得します。

【非推奨】containsKey()(文字列指定)

【非推奨】指定したkeyに関連づけられたvalueが,キャッシュに格納されているかどうかを取得します。

put()

valueをkeyに関連づけて格納します。

create()

新規にkeyを格納する場合だけ,valueをkeyに関連づけて格納します。

update()

格納済みのvalueを指定したvalueに更新します。

replace()

指定したkeyに関連づけられているvalueを,条件として指定したvalue(comparativeValue)と比較します。valueが一致している場合だけ,valueを更新します。

get()

指定したkeyに関連づけられたvalueを取得します。

remove()

指定したkey,およびkeyに関連づけられたvalueを削除します。

getLastUpdateTime()

指定したkeyに関連づけられたvalueの最終更新時刻を取得します。

getKeyCount()

キャッシュ内に格納されている,すべてのkeyの数を取得します。

getGroupCount()

キャッシュ内に格納されたkeyが属するグループのうち,最上位階層のグループ数を取得します。

getGroupNames()

キャッシュ内に格納されたkeyが属するグループのうち,最上位階層のグループ名の一覧を取得します。

グループ名の一覧は,ASCIIコードの昇順になります。

【非推奨】getGroupNameSet()

【非推奨】キャッシュ内の最上位階層のグループ名の一覧をASCIIコードの昇順で取得します。

getEHeapUsageSize()(Keyインタフェース指定)

valueを格納したことで発生したExplicitヒープの使用量(単位:バイト)を取得します。

getEHeapUsageSize()(Groupインタフェース指定)

グループに属するkeyがvalueを格納するために使用しているExplicitヒープの使用量(単位:バイト)を取得します。

getDiskUsageSize()(Keyインタフェース指定)

valueを格納したことで発生したディスクの使用量(単位:バイト)を取得します。

getDiskUsageSize()(Groupインタフェース指定)

グループに属するkeyがvalueを格納するために使用しているディスクの使用量(単位:バイト)を取得します。

calcEHeapUsageSize()

valueを格納した場合に発生するExplicitヒープの使用量(単位:バイト)を計算します。

calcDiskUsageSize()

valueを格納した場合に発生するディスクの使用量(単位:バイト)を計算します。

(4) createKey()

(a) 機能

キャッシュ内で操作可能なkeyを示すインスタンスを生成します。

(b) 形式

public Key createKey(String key)
              throws EADsStoreException

(c) パラメータ

key

生成するインスタンスで示されたkeyを指定します。

指定できるデータについては,「15.2.2(1) keyとして指定できるデータ」を参照してください。

なお,Storeインタフェースによる操作の対象外となるkeyを指定した場合は不正となります。

(d) 戻り値

Keyインスタンスが返却されます。

(e) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • InternalServerException(EADSサーバの内部エラー)

  • EADsStoreException(予期しないエラー)

(5) createValue()

(a) 機能

指定したvalueをシリアライズして,キャッシュ内で操作可能なvalueインスタンスを生成します。

(b) 形式

public Value createValue(Object value)
                  throws EADsStoreException

(c) パラメータ

value

生成するインスタンスで示されたvalueを指定します。

指定できるデータについては,「15.2.2(3) valueとして指定できるデータ」を参照してください。

次の場合は不正となります。

  • nullの場合

  • シリアライズできないオブジェクトの場合

(d) 戻り値

Valueインタフェースを実装しているインスタンスが返却されます。

(e) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • EADsStoreException(予期しないエラー)

(6) createGroup()

(a) 機能

キャッシュ内で操作可能なグループを示すインスタンスを生成します。

(b) 形式

public Group createGroup(String groupName)
                  throws EADsStoreException

(c) パラメータ

groupName

生成するインスタンスで示されたグループのグループ名を指定します。

指定できるデータについては,「15.2.2(2) グループ名として指定できるデータ」を参照してください。

なお,Storeインタフェースによる操作の対象外となるグループ名を指定した場合は不正となります。

(d) 戻り値

指定したグループにアクセスするためのインスタンスが返却されます。

(e) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • InternalServerException(EADSサーバの内部エラー)

  • EADsStoreException(予期しないエラー)

(7) 【非推奨】getGroup()

参考

このメソッドは非推奨です。このメソッドの代わりにClientInfoインタフェースのgetKeyOrGroupName(),およびStoreインタフェースのcreateGroup()を使用してください。

(a) 機能

ユーザファンクションの実行時に,EADSクライアントで指定したグループを操作するためのインスタンスを取得します。

(b) 形式

public Group getGroup()

(c) 戻り値

ユーザファンクションの実行時に,EADSクライアントで指定したグループを操作するためのインスタンスが返却されます。

EADSクライアントでグループを指定しなかった場合はnullが返却されます。

(8) 【非推奨】getGroup()(グループ名指定)

参考

このメソッドは非推奨です。このメソッドの代わりに,StoreインタフェースのcreateGroup()を使用してください。

(a) 機能

指定したグループを操作するためのインスタンスを取得します。

(b) 形式

public Group getGroup(String groupName)
               throws EADsStoreException

(c) パラメータ

groupName

グループ名を指定します。

指定できるデータについては,「15.2.2(2) グループ名として指定できるデータ」を参照してください。

次の場合は不正となります。

  • Storeインタフェースによる操作の対象外となるグループ名を指定した場合

(d) 戻り値

指定したグループを操作するためのインスタンスが返却されます。

(e) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • InternalServerException(EADSサーバの内部エラー)

  • EADsStoreException(予期しないエラー)

(9) containsKey()(Keyインタフェース指定)

(a) 機能

指定したkeyに関連づけられたvalueが,キャッシュに格納されているかどうかを取得します。

(b) 形式

public boolean containsKey(Key key)
                    throws EADsStoreException

(c) パラメータ

key

valueに関連づけられたKeyインタフェースのkeyを指定します。

次の場合は不正となります。

  • nullの場合

  • 不正なKeyインタフェースのオブジェクトの場合

  • Storeインタフェースによる操作の対象外となるkeyの場合

(d) 戻り値

指定したkeyに関連づけられたvalueが,キャッシュに格納されているかどうかが返却されます。

true

valueがキャッシュに格納されています。

false

valueがキャッシュに格納されていません。

(e) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • InternalServerException(EADSサーバの内部エラー)

  • EADsStoreException(予期しないエラー)

(10) 【非推奨】containsKey()(文字列指定)

参考

このメソッドは非推奨です。このメソッドの代わりに,StoreインタフェースのcontainsKey()(Keyインタフェース指定)を使用してください。

(a) 機能

指定したkeyに関連づけられたvalueが,キャッシュに格納されているかどうかを取得します。

(b) 形式

public boolean containsKey(String key)
                   throws EADsStoreException

(c) パラメータ

key

確認対象のkeyを指定します。

指定できるデータについては,「15.2.2(1) keyとして指定できるデータ」を参照してください。

なお,Storeインタフェースによる操作の対象外となるkeyを指定した場合は不正となります。

(d) 戻り値

指定したkeyに関連づけられたvalueが,キャッシュに格納されているかどうかが返却されます。

true

valueがキャッシュに格納されています。

false

valueがキャッシュに格納されていません。

(e) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • InternalServerException(EADSサーバの内部エラー)

  • EADsStoreException(予期しないエラー)

(11) put()

(a) 機能

valueをkeyに関連づけて格納します。

すでにvalueが格納されている場合でも,指定したvalueで更新されます。

データ自動削除機能を使用している場合,key数がしきい値の上限に達しているときは,データの削除ポリシーに従ってデータを削除してから,valueをkeyに関連付けて格納します。既存のデータを更新する場合もデータは削除されます。

データ自動削除機能でデータの削除に失敗した場合,valueの格納を実行しないでremoveが失敗したときの例外が返却されます。

(b) 形式

public void put(Key key, Value value)
         throws EADsStoreException

(c) パラメータ

key

valueに関連づけるKeyインタフェースのkeyを指定します。

次の場合は不正となります。

  • nullの場合

  • 不正なKeyインタフェースのオブジェクトの場合

  • Storeインタフェースによる操作の対象外となるkeyの場合

value

格納するValueインタフェースのvalueを指定します。

次の場合は不正となります。

  • nullの場合

  • 不正なValueインタフェースのオブジェクトの場合

(d) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • InternalServerException(EADSサーバの内部エラー)

  • EADsStoreException(予期しないエラー)

(12) create()

(a) 機能

新規にkeyを格納する場合だけ,valueをkeyに関連づけて格納します。

すでにvalueが格納されている場合は,EADsStoreExceptionが返却されます。

データ自動削除機能を使用している場合,key数がしきい値の上限に達しているときは,データの削除ポリシーに従ってデータを削除してから,valueをkeyに関連付けて格納します。データの削除はすでにvalueがある場合も実行されます。

データ自動削除機能でデータの削除に失敗した場合,valueの格納を実行しないでremoveが失敗したときの例外が返却されます。

(b) 形式

public void create(Key key, Value value)
            throws EADsStoreException

(c) パラメータ

key

valueに関連づけるKeyインタフェースのkeyを指定します。

次の場合は不正となります。

  • nullの場合

  • 不正なKeyインタフェースのオブジェクトの場合

  • Storeインタフェースによる操作の対象外となるkeyの場合

value

格納するvalueを指定します。

次の場合は不正となります。

  • nullの場合

  • 不正なValueインタフェースのオブジェクトの場合

(d) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • InternalServerException(EADSサーバの内部エラー)

  • EADsStoreException(予期しないエラー)

(13) update()

(a) 機能

指定したkeyがすでに格納されている場合だけ,valueをkeyに関連づけて格納します(valueを更新します)。

valueが格納されていない場合は,EADsStoreExceptionが返却されます。

(b) 形式

public void update(Key key, Value value)
            throws EADsStoreException

(c) パラメータ

key

格納するvalueに関連づけられたKeyインタフェースのkeyを指定します。

次の場合は不正となります。

  • nullの場合

  • 不正なKeyインタフェースのオブジェクトの場合

  • Storeインタフェースによる操作の対象外となるkeyの場合

value

格納するValueインタフェースのvalueを指定します。

次の場合は不正となります。

  • nullの場合

  • 不正なValueインタフェースのオブジェクトの場合

(d) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • InternalServerException(EADSサーバの内部エラー)

  • EADsStoreException(予期しないエラー)

(14) replace()

(a) 機能

指定したkeyに関連づけられているvalueを,条件として指定したvalue(comparativeValue)と比較します。valueが一致している場合だけ,valueを更新します。

次の場合は,EADsStoreExceptionが返却されます。

  • valueが格納されているが,条件として指定したvalue(comparativeValue)と一致しない場合

  • valueが格納されていない場合

(b) 形式

public void replace(Key key, Value value, Value comparativeValue)
             throws EADsStoreException

(c) パラメータ

key

格納するvalueに関連づけられたKeyインタフェースのkeyを指定します。

次の場合は不正となります。

  • nullの場合

  • 不正なKeyインタフェースのオブジェクトの場合

  • Storeインタフェースによる操作の対象外となるkeyの場合

value

格納するValueインタフェースのvalueを指定します。

次の場合は不正となります。

  • nullの場合

  • 不正なValueインタフェースのオブジェクトの場合

comparativeValue

比較するValueインタフェースのvalueを指定します。

次の場合は不正となります。

  • nullの場合

  • 不正なValueインタフェースのオブジェクトの場合

(d) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • InternalServerException(EADSサーバの内部エラー)

  • EADsStoreException(予期しないエラー)

(15) get()

(a) 機能

指定したkeyに関連づけられたvalueを取得します。

(b) 形式

public Value get(Key key)
          throws EADsStoreException

(c) パラメータ

key

取得するvalueに関連づけられた,Keyインタフェースのkeyを指定します。

次の場合は不正となります。

  • nullの場合

  • 不正なKeyインタフェースのオブジェクトの場合

  • Storeインタフェースによる操作の対象外となるkeyの場合

(d) 戻り値

指定したkeyに関連づけられたvalueが返却されます。

指定したkeyに何も関連づけられていなかった場合は,nullが返却されます。

(e) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • InternalServerException(EADSサーバの内部エラー)

  • EADsStoreException(予期しないエラー)

(16) remove()

(a) 機能

指定したkey,およびkeyに関連づけられたvalueを削除します。

(b) 形式

public void remove(Key key)
            throws EADsStoreException

(c) パラメータ

key

削除するvalueに関連づけられた,Keyインタフェースのkeyを指定します。

次の場合は不正となります。

  • nullの場合

  • 不正なKeyインタフェースのオブジェクトの場合

  • Storeインタフェースによる操作の対象外となるkeyの場合

(d) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • InternalServerException(EADSサーバの内部エラー)

  • EADsStoreException(予期しないエラー)

(17) getLastUpdateTime()

(a) 機能

指定したkeyに関連づけられたvalueの最終更新時刻を取得します。

(b) 形式

public long getLastUpdateTime(Key key)
                       throws EADsStoreException

(c) パラメータ

key

valueに関連づけられたKeyインタフェースのkeyを指定します。

次の場合は不正となります。

  • nullの場合

  • 不正なKeyインタフェースのオブジェクトの場合

  • Storeインタフェースによる操作の対象外となるkeyの場合

(d) 戻り値

データの最終更新時刻(1970/1/1 00:00:00(UTC)からの通算ミリ秒)が返却されます。

(e) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • InternalServerException(EADSサーバの内部エラー)

  • EADsStoreException(予期しないエラー)

(18) getKeyCount()

(a) 機能

キャッシュ内に格納されている,すべてのkeyの数を取得します。

keyとvalueは1対1で対応しているため,取得したkeyの数は,キャッシュ内に格納されているvalueの数に相当します。

(b) 形式

public int getKeyCount()
                throws EADsStoreException

(c) 戻り値

キャッシュ内に格納されている,すべてのkeyの数が返却されます。

(d) 発生する例外

  • InternalServerException(EADSサーバの内部エラー)

  • EADsStoreException(予期しないエラー)

(19) getGroupCount()

(a) 機能

キャッシュ内に格納されたkeyが属するグループのうち,最上位階層のグループ数を取得します。

(b) 形式

public int getGroupCount()
                  throws EADsStoreException

(c) 戻り値

キャッシュ内に格納されたkeyが属するグループのうち,最上位階層のグループ数が返却されます。

(d) 発生する例外

  • InternalServerException(EADSサーバの内部エラー)

  • EADsStoreException(予期しないエラー)

(20) getGroupNames()

(a) 機能

キャッシュ内に格納されたkeyが属するグループのうち,最上位階層のグループ名の一覧を取得します。

グループ名の一覧は,ASCIIコードの昇順になります。

(b) 形式

public String[] getGroupNames()
                       throws EADsStoreException

(c) 戻り値

キャッシュ内に格納されたkeyが属するグループのうち,最上位階層のグループ名の一覧が返却されます。

(d) 発生する例外

  • InternalServerException(EADSサーバの内部エラー)

  • EADsStoreException(予期しないエラー)

(21) 【非推奨】getGroupNameSet()

参考

このメソッドは非推奨です。このメソッドの代わりに,StoreインタフェースのgetGroupNames()を使用してください。

(a) 機能

キャッシュ内の最上位階層のグループ名の一覧をASCIIコードの昇順で取得します。

(b) 形式

public java.util.Set<String> getGroupNameSet()
                            throws EADsStoreException

(c) 戻り値

キャッシュ内の最上位階層のグループ名の一覧(ASCIIコードの昇順)が返却されます。

(d) 発生する例外

  • EADsStoreException(予期しないエラー)

(22) getEHeapUsageSize()(Keyインタフェース指定)

(a) 機能

valueを格納したことで発生したExplicitヒープの使用量(単位:バイト)を取得します。

(b) 形式

public long getEHeapUsageSize(Key key)
                       throws EADsStoreException

(c) パラメータ

key

valueに関連づけられたKeyインタフェースのkeyを指定します。

次の場合は不正となります。

  • nullの場合

  • 不正なKeyインタフェースのオブジェクトの場合

  • Storeインタフェースによる操作の対象外となるkeyの場合

(d) 戻り値

valueを格納したことで発生したExplicitヒープの使用量が返却されます。

(e) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • InternalServerException(EADSサーバの内部エラー)

  • EADsStoreException(予期しないエラー)

(23) getEHeapUsageSize()(Groupインタフェース指定)

(a) 機能

グループに属するkeyがvalueを格納するために使用しているExplicitヒープの使用量(単位:バイト)を取得します。

(b) 形式

public long getEHeapUsageSize(Group group)
                       throws EADsStoreException

(c) パラメータ

group

keyが属するGroupインタフェースのグループ名を指定します。

次の場合は不正となります。

  • nullの場合

  • 不正なGroupインタフェースのオブジェクトの場合

  • Storeインタフェースによる操作の対象外となるkeyの場合

(d) 戻り値

グループに属するkeyがvalueを格納するために使用しているExplicitヒープの使用量が返却されます。

(e) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • InternalServerException(EADSサーバの内部エラー)

  • EADsStoreException(予期しないエラー)

(24) getDiskUsageSize()(Keyインタフェース指定)

(a) 機能

valueを格納したことで発生したディスクの使用量(単位:バイト)を取得します。

(b) 形式

public long getDiskUsageSize(Key key)
                      throws EADsStoreException

(c) パラメータ

key

valueに関連づけられたKeyインタフェースのkeyを指定します。

次の場合は不正となります。

  • nullの場合

  • 不正なKeyインタフェースのオブジェクトの場合

  • Storeインタフェースによる操作の対象外となるkeyの場合

(d) 戻り値

valueを格納したことで発生したディスクの使用量が返却されます。

(e) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • InternalServerException(EADSサーバの内部エラー)

  • EADsStoreException(予期しないエラー)

(25) getDiskUsageSize()(Groupインタフェース指定)

(a) 機能

グループに属するkeyがvalueを格納するために使用しているディスクの使用量(単位:バイト)を取得します。

(b) 形式

public long getEHeapUsageSize(Group group)
                       throws EADsStoreException

(c) パラメータ

group

keyが属するGroupインタフェースのグループ名を指定します。

次の場合は不正となります。

  • nullの場合

  • 不正なGroupインタフェースのオブジェクトの場合

  • Storeインタフェースによる操作の対象外となるkeyの場合

(d) 戻り値

グループに属するkeyがvalueを格納するために使用しているディスクの使用量が返却されます。

(e) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • InternalServerException(EADSサーバの内部エラー)

  • EADsStoreException(予期しないエラー)

(26) calcEHeapUsageSize()

(a) 機能

valueを格納した場合に発生するExplicitヒープの使用量(単位:バイト)を計算します。

(b) 形式

public long calcEHeapUsageSize(Value value)
                        throws EADsStoreException

(c) パラメータ

value

格納したValueインタフェースのvalueを指定します。

次の場合は不正となります。

  • nullの場合

  • 不正なValueインタフェースのオブジェクトの場合

(d) 戻り値

valueを格納した場合に発生するExplicitヒープの使用量が返却されます。

(e) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • InternalServerException(EADSサーバの内部エラー)

  • EADsStoreException(予期しないエラー)

(27) calcDiskUsageSize()

(a) 機能

valueを格納した場合に発生するディスクの使用量(単位:バイト)を計算します。

(b) 形式

public long calcDiskUsageSize(Key key, Value value)
                              throws EADsStoreException

(c) パラメータ

key

valueに関連づけられたKeyインタフェースのkeyを指定します。

次の場合は不正となります。

  • nullの場合

  • 不正なValueインタフェースのオブジェクトの場合

value

格納したValueインタフェースのvalueを指定します。

次の場合は不正となります。

  • nullの場合

  • 不正なValueインタフェースのオブジェクトの場合

(d) 戻り値

valueを格納した場合に発生するディスクの使用量が返却されます。

(e) 発生する例外

  • UserOperationException(ユーザの操作不正)

  • InternalServerException(EADSサーバの内部エラー)

  • EADsStoreException(予期しないエラー)