public class ExecutionContext extends HandlerQueueManager<ExecutionContext>
修飾子とタイプ | フィールドと説明 |
---|---|
static java.lang.String |
FW_PREFIX
各種スコープ上の変数をフレームワークが使用する際に
名前に付けるプレフィックス(予約名)
|
static java.lang.String |
THROWN_APPLICATION_EXCEPTION_KEY
ApplicationException をリクエストスコープから取得する際に使用するキー |
static java.lang.String |
THROWN_EXCEPTION_KEY
例外をリクエストスコープから取得する際に使用するキー
|
コンストラクタと説明 |
---|
ExecutionContext()
デフォルトコンストラクタ
|
ExecutionContext(ExecutionContext original)
元となる実行コンテキストから、新たな実行コンテキストのオブジェクトを作成する。
|
修飾子とタイプ | メソッドと説明 |
---|---|
void |
clearLastReadData()
この実行コンテキストが最後に読み込んだデータオブジェクトをクリアする。
|
ExecutionContext |
closeReader()
現在使用しているデータリーダを閉じる。
|
<T> T |
findHandler(java.lang.Object data,
java.lang.Class<T> targetType,
java.lang.Class<?> stopType)
ハンドラキュー上の後続ハンドラのうち、
指定されたクラスもしくはインタフェースを実装している直近のハンドラを返す。
|
ApplicationException |
getApplicationException()
リクエストスコープから
ApplicationException を取得する。 |
java.lang.Object |
getCurrentRequestObject()
現在処理中のリクエストオブジェクトを取得する。
|
java.lang.Object |
getDataProcessedWhenThrown(java.lang.Throwable e)
指定した例外を送出したスレッドが、例外発生時に処理していた入力データを返す。
|
<TData> DataReader<TData> |
getDataReader()
データリーダを取得する。
|
java.lang.Throwable |
getException()
リクエストスコープから例外を取得する。
|
java.util.List<Handler> |
getHandlerQueue()
現在のハンドラキューの内容を返す。
|
<TData> TData |
getLastReadData()
この実行コンテキストが最後に読み込んだデータオブジェクトを返す。
|
int |
getLastRecordNumber()
データリーダが、現時点で物理的に読み込んでいるレコードのレコード番号を返却する。
|
<TData,TResult> |
getNextHandler()
ハンドラキュー上の次のハンドラを取得する。
|
<T> T |
getRequestScopedVar(java.lang.String varName)
リクエストスコープ上の変数の値を取得する。
|
java.util.Map<java.lang.String,java.lang.Object> |
getRequestScopeMap()
リクエストスコープ上の変数を格納したMapオブジェクトへの参照を返す。
|
<T> T |
getSessionScopedVar(java.lang.String varName)
セッションスコープ上の変数の値を取得する。
|
java.util.Map<java.lang.String,java.lang.Object> |
getSessionScopeMap()
セッションスコープ情報を格納したMapオブジェクトへの参照を返す。
|
<T> T |
getSessionStoredVar(java.lang.String varName)
セッションストア上の変数の値を取得する。
|
java.util.Map<java.lang.String,java.lang.Object> |
getSessionStoreMap()
セッションストア情報を格納したMapオブジェクトへの参照を返す。
|
<TData,TResult> |
handleNext(TData data)
ハンドラキュー上の次のハンドラに処理を委譲する。
|
boolean |
hasNextData()
この実行コンテキスト上のデータリーダから次に読み出すことができるデータが残っているかどうか。
|
boolean |
hasSession()
セッションがあるかどうか。
|
ExecutionContext |
invalidateSession()
現在のリクエストに紐付けられたセッションスコープを無効化する。
|
boolean |
isNewSession()
新規セッションであるかどうか。
|
boolean |
isProcessSucceeded()
処理が正常終了したかどうかを取得する。
|
void |
putDataOnException(java.lang.Throwable e,
java.lang.Object data)
例外に関連するデータを追加する。
|
<TData> TData |
readNextData()
この実行コンテキスト上のデータリーダを使用して、次のデータを読み込む。
|
<T> java.util.List<T> |
selectHandlers(java.lang.Object data,
java.lang.Class<T> targetType,
java.lang.Class<?> stopType)
ハンドラキュー上の後続ハンドラのうち、
指定されたクラスもしくはインタフェースを実装しているものを全て返す。
|
void |
setCurrentRequestObject(java.lang.Object currentRequestObject)
現在処理中のリクエストオブジェクトを設定する。
|
<TData> ExecutionContext |
setDataReader(DataReader<TData> reader)
データリーダを設定する。
|
<TData> ExecutionContext |
setDataReaderFactory(DataReaderFactory<TData> factory)
データリーダのファクトリを設定する。
|
void |
setException(java.lang.Throwable e)
リクエストスコープに例外を設定する。
|
void |
setLastRecordNumber(int lastRecordNumber)
データリーダが、現時点で物理的に読み込んでいるレコードのレコード番号を設定する。
|
void |
setProcessSucceeded(boolean processSucceeded)
処理が正常終了したかどうかを設定する。
|
ExecutionContext |
setRequestScopedVar(java.lang.String varName,
java.lang.Object varValue)
リクエストスコープ上の変数の値を設定する。
|
ExecutionContext |
setRequestScopeMap(java.util.Map<java.lang.String,java.lang.Object> m)
リクエストスコープを設定する。
|
ExecutionContext |
setSessionScopedVar(java.lang.String varName,
java.lang.Object varValue)
セッションスコープ上の変数の値を設定する。
|
ExecutionContext |
setSessionScopeMap(java.util.Map<java.lang.String,java.lang.Object> m)
セッションスコープ上の変数を格納したMapを設定する。
|
ExecutionContext |
setSessionStoredVar(java.lang.String varName,
java.lang.Object varValue)
セッションストア上の変数の値を設定する。
|
ExecutionContext |
setSessionStoreMap(java.util.Map<java.lang.String,java.lang.Object> m)
セッションストア上の変数を格納したMapを設定する。
|
addHandler, addHandler, addHandler, addHandler, addHandler, addHandlers, clearHandlers, getHandlerOf, getMethodBinder, setHandlerQueue, setMethodBinder
public static final java.lang.String FW_PREFIX
public static final java.lang.String THROWN_EXCEPTION_KEY
public static final java.lang.String THROWN_APPLICATION_EXCEPTION_KEY
ApplicationException
をリクエストスコープから取得する際に使用するキー@Published(tag="architect") public ExecutionContext()
public ExecutionContext(ExecutionContext original)
original
- 元となる実行コンテキストpublic java.util.List<Handler> getHandlerQueue()
HandlerQueueManager
getHandlerQueue
クラス内 HandlerQueueManager<ExecutionContext>
@Published public <TData,TResult> TResult handleNext(TData data) throws NoMoreHandlerException, java.lang.ClassCastException
TData
- 処理対象データの型TResult
- 処理結果データの型data
- 処理対象データNoMoreHandlerException
- 次のハンドラが存在しない場合。java.lang.ClassCastException
- ハンドラの型変数と実際のハンドラの戻り値の型が異なる場合。public <TData,TResult> Handler<TData,TResult> getNextHandler() throws NoMoreHandlerException, java.lang.ClassCastException
TData
- 処理対象データの型TResult
- 処理結果データの型NoMoreHandlerException
- 次のハンドラが存在しない場合。java.lang.ClassCastException
- ハンドラの型変数と実際のハンドラの戻り値の型が異なる場合。public <T> T findHandler(java.lang.Object data, java.lang.Class<T> targetType, java.lang.Class<?> stopType)
null
を返す。T
- 検索対象のハンドラ型data
- このハンドラに対する入力オブジェクトtargetType
- 検索対象のハンドラ型stopType
- このタイプのハンドラよりも後続にあるハンドラを検索対象から除外する。null
を返す。)public <T> java.util.List<T> selectHandlers(java.lang.Object data, java.lang.Class<T> targetType, java.lang.Class<?> stopType)
T
- 検索対象のハンドラ型data
- このハンドラに対する入力オブジェクトtargetType
- 検索対象のハンドラ型stopType
- このタイプのハンドラよりも後続にあるハンドラを検索対象から除外する。public <TData> TData readNextData()
TData
- データリーダが読み込むデータの型public <TData> TData getLastReadData()
TData
- データオブジェクトの型public void clearLastReadData()
public void putDataOnException(java.lang.Throwable e, java.lang.Object data)
e
- 例外data
- 例外に関連するデータpublic java.lang.Object getDataProcessedWhenThrown(java.lang.Throwable e)
e
- 例外public boolean hasNextData()
true
public <TData> DataReader<TData> getDataReader()
TData
- データリーダが読み込むデータ型public <TData> ExecutionContext setDataReader(DataReader<TData> reader)
TData
- データリーダが読み込むデータ型reader
- データリーダpublic <TData> ExecutionContext setDataReaderFactory(DataReaderFactory<TData> factory)
TData
- ファクトリが生成するデータリーダが読み込むデータ型factory
- 設定するデータリーダファクトリpublic ExecutionContext closeReader()
public java.lang.Throwable getException()
THROWN_EXCEPTION_KEY
キーを使用する。public ApplicationException getApplicationException()
ApplicationException
を取得する。
THROWN_APPLICATION_EXCEPTION_KEY
キーを使用する。ApplicationException
。
リクエストスコープにApplicationException
が設定されていない場合はnullpublic void setException(java.lang.Throwable e)
THROWN_EXCEPTION_KEY
キーに例外を設定する。
さらに、例外がApplicationException
の場合は、
THROWN_APPLICATION_EXCEPTION_KEY
キーにも設定する。e
- 例外public boolean isProcessSucceeded()
true
public void setCurrentRequestObject(java.lang.Object currentRequestObject)
currentRequestObject
- 現在処理中のリクエストオブジェクトpublic java.lang.Object getCurrentRequestObject()
public void setProcessSucceeded(boolean processSucceeded)
processSucceeded
- 正常終了の場合true
public ExecutionContext setRequestScopeMap(java.util.Map<java.lang.String,java.lang.Object> m)
m
- リクエストスコープ上の変数を格納するMap@Published public java.util.Map<java.lang.String,java.lang.Object> getRequestScopeMap()
@Published public <T> T getRequestScopedVar(java.lang.String varName) throws java.lang.ClassCastException
T
- 期待する変数の型varName
- 変数名java.lang.ClassCastException
- 実際の変数の型が期待する変数の型と適合しなかった場合。@Published public ExecutionContext setRequestScopedVar(java.lang.String varName, java.lang.Object varValue)
varName
- 変数名varValue
- 変数の値public ExecutionContext setSessionStoreMap(java.util.Map<java.lang.String,java.lang.Object> m)
m
- セッションストア上の変数を格納したMappublic java.util.Map<java.lang.String,java.lang.Object> getSessionStoreMap()
public <T> T getSessionStoredVar(java.lang.String varName) throws java.lang.ClassCastException
T
- 期待する変数の型varName
- 変数名java.lang.ClassCastException
- 実際の変数の型が期待する変数の型と適合しなかった場合。public ExecutionContext setSessionStoredVar(java.lang.String varName, java.lang.Object varValue)
varName
- 変数名varValue
- 変数の値public ExecutionContext setSessionScopeMap(java.util.Map<java.lang.String,java.lang.Object> m)
m
- リクエストスコープ上の変数を格納したMap@Published public java.util.Map<java.lang.String,java.lang.Object> getSessionScopeMap()
@Published public <T> T getSessionScopedVar(java.lang.String varName) throws java.lang.ClassCastException
T
- 期待する変数の型varName
- 変数名java.lang.ClassCastException
- 実際の変数の型が期待する変数の型と適合しなかった場合。@Published public ExecutionContext setSessionScopedVar(java.lang.String varName, java.lang.Object varValue)
varName
- 変数名varValue
- 変数の値@Published public ExecutionContext invalidateSession()
@Published public boolean isNewSession()
true
public boolean hasSession()
public void setLastRecordNumber(int lastRecordNumber)
lastRecordNumber
- 現時点で物理的に読み込んでいるレコードのレコード番号@Published public int getLastRecordNumber()
FileDataReader
を使用してファイルを読み込んでいる場合にのみ値を返却する。
FileDataReader以外を使用している場合は0を返す。