20.3.2 EventContextインタフェース
- 〈この項の構成〉
(1) 説明
EADsサーバ,EADsクライアント,および発生したイベントに関する情報を,ユーザイベントハンドラに渡すインタフェースです。
インスタンスは,ユーザイベントハンドラを呼び出す直前に生成され,ユーザイベントハンドラの処理完了後に解放されます。
1回のデータ操作で複数のユーザイベントハンドラを呼び出す場合,ユーザイベントハンドラごとにインスタンスが生成されます。
(2) インタフェース名
com.hitachi.software.xeads.event.EventContext
(3) メソッド一覧
EventContextインタフェースが提供するメソッド一覧を次の表に示します。
メソッド名 |
説明 |
---|---|
ユーザイベントハンドラを実行しているEADsサーバ名(運用ディレクトリ名)を取得します。 |
|
APIを実行したキャッシュ名を取得します。 |
|
実行したAPIに指定したkeyに含まれるグループ名を取得します。 |
|
実行したAPIに指定したkeyを取得します。 |
|
データ操作完了後のvalueを取得します。 |
|
データの更新時刻を取得します。 |
|
新規に追加されたデータかどうかを取得します。 |
|
APIを実行したEADsクライアントの情報(PRFトレースに出力されるRootAP情報に相当する情報)を取得します。 |
|
実行したAPIの種類を取得します。 |
|
ユーザログを出力するロガーを取得します。 |
(4) getServerName()
(a) 機能
ユーザイベントハンドラを実行しているEADsサーバ名(運用ディレクトリ名)を取得します。
(b) 形式
public String getServerName()
(c) 戻り値
ユーザイベントハンドラを実行しているEADsサーバ名(運用ディレクトリ名)が返却されます。
(5) getCacheName()
(a) 機能
APIを実行したキャッシュ名を取得します。
(b) 形式
public String getCacheName()
(c) 戻り値
APIを実行したキャッシュ名が返却されます。
EventHandlerインタフェースのinit(),またはdestroy()内でこのメソッドを呼び出した場合は,nullが返却されます。
(6) getGroupName()
(a) 機能
実行したAPIに指定したkeyに含まれるグループ名を取得します。
(b) 形式
public String getGroupName()
(c) 戻り値
実行したAPIに指定したkeyに含まれるグループ名が返却されます。
EventHandlerインタフェースのinit(),もしくはdestroy()内でこのメソッドを呼び出した場合,または,実行したAPIに指定したkeyにグループ名が含まれていない場合は,nullが返却されます。
(7) getKey()
(a) 機能
実行したAPIに指定したkeyを取得します。
(b) 形式
public String getKey()
(c) 戻り値
実行したAPIに指定したkeyが返却されます。
EventHandlerインタフェースのinit(),またはdestroy()内でこのメソッドを呼び出した場合は,nullが返却されます。
(8) getValue()
(a) 機能
データ操作完了後のvalueを取得します。
ユーザイベントハンドラを実行する契機となったリクエストで,操作が完了した時点のvalueを取得します。
このメソッドを呼び出すまでに,ほかのリクエストによって更新されたvalueを取得することはできません。
(b) 形式
public Object getValue() throws IOException, ClassNotFoundException
(c) 戻り値
データ操作完了後のvalueが返却されます。
次の場合はnullが返却されます。
-
EventHandlerインタフェースのinit(),またはdestroy()内でこのメソッドを呼び出した場合
-
remove操作の際にこのメソッドを呼び出した場合
-
リクエストの操作が完了する前にこのメソッドを呼び出した場合
(d) 発生する例外
-
IOException(デシリアライズ処理内で問題が発生)
-
ClassNotFoundException(シリアライズされたオブジェクトのクラスが見つからない)
(9) getLastUpdateTime()
データの更新時刻を取得します。
ユーザイベントハンドラを実行する契機となったリクエストで,操作が完了した時点のデータの更新時刻を取得します。
このメソッドを呼び出すまでに,ほかのリクエストによって更新されたデータの更新時刻を取得することはできません。
(a) 形式
public long getLastUpdateTime()
(b) 戻り値
データの更新時刻(1970年1月1日00:00:00からの通算ミリ秒)が返却されます。
次の場合は0が返却されます。
-
EventHandlerインタフェースのinit(),またはdestroy()内でこのメソッドを呼び出した場合
-
remove操作の際にこのメソッドを呼び出した場合
-
リクエストの操作が完了する前にこのメソッドを呼び出した場合
(10) isNewData()
新規に追加されたデータかどうかを取得します。
(a) 形式
public boolean isNewData()
(b) 戻り値
新規に追加されたデータかどうかが返却されます。
- true
-
新規に追加されたデータです。
- false
-
既存のデータの更新または削除です。
EventHandlerインタフェースのinit(),またはdestroy()内でこのメソッドを呼び出した場合は,falseが返却されます。
(11) getClientInfo()
(a) 機能
APIを実行したEADsクライアントの情報(PRFトレースに出力されるRootAP情報に相当する情報)を取得します。
ユーザファンクションからAPIを実行した場合は,CacheクラスのexecuteFunction()を実行したEADsクライアントの情報を取得します。
コマンド(eztool put,eztool remove)からAPIを実行した場合は,コマンドを実行したプロセスの情報を取得します。
(b) 形式
public ClientInfo getClientInfo()
(c) 戻り値
APIを実行したEADsクライアントの情報が返却されます。
EADsクライアントの情報については,「20.2.4 ClientInfoインタフェース」を参照してください。
EventHandlerインタフェースのinit(),またはdestroy()内でこのメソッドを呼び出した場合は,nullが返却されます。