修飾子とタイプ | フィールドと説明 |
---|---|
protected boolean |
beginning
実行開始フラグ
|
protected AbstractCollector<?> |
child
子スレッド側インスタンス
|
protected static int |
CURRENT_QUEUE_CHECK_SIZE
現在キュー保持数チェックサイズ
|
protected Queue<DataValueObject> |
currentQueue
現在キュー
|
static int |
DEFAULT_QUEUE_SIZE
デフォルトのキューサイズ
|
protected static int |
DEFAULT_SLEEP_WAIT
デフォルトスリープ時間(msec)
|
protected CollectorExceptionHandler |
exceptionHandler
CollectorExceptionHandler
|
protected boolean |
finish
終了フラグ
|
protected Future<?> |
fo
非同期処理の結果を取得するためのクラス
|
protected static int |
PREVIOUS_QUEUE_CHECK_SIZE
後方キュー保持数チェックサイズ
|
protected Queue<DataValueObject> |
previousQueue
後方キュー
|
protected BlockingQueue<DataValueObject> |
queue
キュー
|
protected int |
queueSize
キューサイズ
|
protected int |
sleepWait
スリープ時間(msec)
|
protected ValidationErrorHandler |
validationErrorHandler
ValidationErrorHandler
|
protected org.springframework.validation.Validator |
validator
Validator
|
protected static AtomicBoolean |
verboseLog
冗長ログ出力フラグ.
|
コンストラクタと説明 |
---|
AbstractCollector() |
修飾子とタイプ | メソッドと説明 |
---|---|
protected void |
addQueue(DataValueObject dataValueObject)
キューにデータを追加する。
|
protected void |
addQueue(DataValueObject dataValueObject,
boolean force)
キューにデータを追加する。
|
protected void |
afterExecute()
実行後処理。
|
protected void |
beforeExecute()
実行前処理。
|
void |
close()
このストリームを閉じて、それに関連するすべてのシステムリソースを解放します。
|
static void |
closeQuietly(Collector<?> collector)
Collectorをクローズする。
|
protected Queue<DataValueObject> |
createCurrentQueue()
currentキューを作成する
|
protected Queue<DataValueObject> |
createPreviousQueue()
previousキューを作成する
|
protected BlockingQueue<DataValueObject> |
createQueue()
キューを作成する
|
protected ThreadFactory |
createThreadFactory()
スレッドファクトリを生成する.
|
protected void |
execute()
AbstractCollectorを実行する。
|
protected void |
finalize() |
P |
getCurrent()
現在の要素を返します。
|
protected DataValueObject |
getCurrentObject()
現在のQueue要素を返します。
|
protected ExecutorService |
getExecutor()
getExecutorメソッド.
|
P |
getNext()
ポインタを次の要素に移さずに次の要素を返します。
|
protected DataValueObject |
getNextObject()
ポインタを次の要素に移さずに次のQueue要素を返します。
|
P |
getPrevious()
1件前の要素を返します。
|
protected DataValueObject |
getPreviousObject()
1件前のQueue要素を返します。
|
protected Queue<DataValueObject> |
getQueue()
キューを取得する。
|
protected int |
getSleepWait()
スリープ時間(msec)を取得する
|
protected CollectorExceptionHandlerStatus |
handleException(DataValueObject dataValueObject)
例外発生時の処理
|
protected ValidateErrorStatus |
handleValidationError(DataValueObject dataValueObject,
org.springframework.validation.Errors errors)
入力チェックエラー時の処理.
|
boolean |
hasNext()
繰り返し処理でさらに要素がある場合に true を返します。
|
protected boolean |
isFinish()
終了フラグの状態を確認する。
|
Iterator<P> |
iterator() |
P |
next()
繰り返し処理で次の要素を返します。
|
void |
remove()
基になるコレクションから、反復子によって最後に返された要素を削除します (任意のオペレーション)。
|
protected void |
setFinish()
終了フラグを設定する。
|
protected void |
setFinish(boolean finish)
終了フラグを設定する。
|
protected void |
setQueueSize(int queueSize)
キューサイズを指定する。
|
protected void |
setSleepWait(int sleepWait)
スリープ時間(msec)を設定する
|
static void |
setVerbose(boolean verbose)
冗長ログ出力フラグを設定する。
|
protected ValidateErrorStatus |
validate(DataValueObject dataValueObject)
入力チェックを行う.
|
public static final int DEFAULT_QUEUE_SIZE
protected static final int DEFAULT_SLEEP_WAIT
protected static final int CURRENT_QUEUE_CHECK_SIZE
protected static final int PREVIOUS_QUEUE_CHECK_SIZE
protected static AtomicBoolean verboseLog
protected int queueSize
protected int sleepWait
protected BlockingQueue<DataValueObject> queue
protected Queue<DataValueObject> currentQueue
protected Queue<DataValueObject> previousQueue
protected volatile Future<?> fo
protected volatile boolean finish
protected volatile boolean beginning
protected org.springframework.validation.Validator validator
protected ValidationErrorHandler validationErrorHandler
protected CollectorExceptionHandler exceptionHandler
protected AbstractCollector<?> child
protected void execute()
protected void beforeExecute()
protected void afterExecute()
public boolean hasNext()
※本メソッドはマルチスレッドセーフでありません。
hasNext
インタフェース内 Iterator<P>
Iterator.hasNext()
public P next()
※本メソッドはマルチスレッドセーフでありません。
next
インタフェース内 Iterator<P>
NoSuchElementException
- 繰り返し処理でそれ以上要素がない場合Iterator.next()
public P getNext()
nullの場合は次の要素が存在しないことを示します。
ポインタは移動しません。
該当データの取得時に例外が発生した場合、以下条件により異なる例外がスローされます。
入力チェックに失敗した場合にnext()メソッドで該当データにアクセスすると 例外が発生するケースでも、本メソッドでは該当データが取得できます。
※本メソッドはマルチスレッドセーフでありません。getNext
インタフェース内 Collector<P>
Collector.getNext()
protected DataValueObject getNextObject()
nullの場合は次の要素が存在しないことを示します。
ポインタは移動しません。
当該データ取得によるステータスが返却された場合に以下の挙動となります。
当該データ取得によるステータス | getNextObject()の挙動 |
---|---|
CollectorExceptionHandlerStatus.SKIP | 当該データは一件読み捨てられ、次のデータを取得する。 |
ValidateErrorStatus.END | データ終端としてnullを返却する。 |
CollectorExceptionHandlerStatus.END | データ終端としてnullを返却する。 |
CollectorStatus.END | データ終端としてnullを返却する。 |
取得された当該データのgetThrowable()がnullではない場合、例外ハンドラを実行し上記ステータスの判定を行っている。 よって、本メソッドから返却されたオブジェクトのgetThrowable()がnullではない場合、例外ハンドラの結果はnull あるいはCollectorExceptionHandlerStatus.THROWとなる。
※本メソッドはマルチスレッドセーフでありません。
public P getPrevious()
1件目の場合はnullが返ります。
ポインタは移動しません。
該当データの取得時に例外が発生した場合、以下条件により異なる例外がスローされます。
入力チェックに失敗した場合にnext()メソッドで該当データにアクセスすると 例外が発生するケースでも、本メソッドでは該当データが取得できます。
※本メソッドはマルチスレッドセーフでありません。
getPrevious
インタフェース内 Collector<P>
Collector.getPrevious()
protected DataValueObject getPreviousObject()
1件目の場合はnullが返ります。
ポインタは移動しません。
※本メソッドはマルチスレッドセーフでありません。
public P getCurrent()
nullの場合は現在の要素が存在しないことを示します。
ポインタは移動しません。
該当データの取得時に例外が発生した場合、以下条件により異なる例外がスローされます。
入力チェックに失敗した場合にnext()メソッドで該当データにアクセスすると 例外が発生するケースでも、本メソッドでは該当データが取得できます。
※本メソッドはマルチスレッドセーフでありません。
getCurrent
インタフェース内 Collector<P>
Collector.getCurrent()
protected DataValueObject getCurrentObject()
nullの場合は現在の要素が存在しないことを示します。
ポインタは移動しません。
※本メソッドはマルチスレッドセーフでありません。
public void close()
※本メソッドはマルチスレッドセーフでありません。
close
インタフェース内 Closeable
close
インタフェース内 AutoCloseable
Closeable.close()
public void remove()
※本メソッドはサポートされていません。
remove
インタフェース内 Iterator<P>
UnsupportedOperationException
- Iterator が remove オペレーションをサポートしない場合IllegalStateException
- next メソッドがまだ呼び出されてない場合、または next メソッドの最後の呼び出しのあとに remove メソッドがすでに呼び出されている場合Iterator.remove()
protected ExecutorService getExecutor()
protected ThreadFactory createThreadFactory()
protected BlockingQueue<DataValueObject> createQueue()
protected Queue<DataValueObject> createCurrentQueue()
protected Queue<DataValueObject> createPreviousQueue()
protected Queue<DataValueObject> getQueue()
protected void setQueueSize(int queueSize)
queueSize
- intprotected int getSleepWait()
protected void setSleepWait(int sleepWait)
sleepWait
- スリープ時間(msec)protected void addQueue(DataValueObject dataValueObject) throws InterruptedException
dataValueObject
- DataValueObjectInterruptedException
protected void addQueue(DataValueObject dataValueObject, boolean force) throws InterruptedException
dataValueObject
- DataValueObjectforce
- boolean 強制キューイングフラグInterruptedException
protected ValidateErrorStatus validate(DataValueObject dataValueObject)
dataValueObject
- DataValueObjectprotected ValidateErrorStatus handleValidationError(DataValueObject dataValueObject, org.springframework.validation.Errors errors)
dataValueObject
- DataValueObjecterrors
- Errorsprotected CollectorExceptionHandlerStatus handleException(DataValueObject dataValueObject)
dataValueObject
- DataValueObjectprotected boolean isFinish()
protected void setFinish()
protected void setFinish(boolean finish)
finish
- public static void closeQuietly(Collector<?> collector)
引数に渡されたcollectorがnullでなければクローズする。
また、クローズする際にIO例外が発生した場合は無視する。
collector
- Collectorpublic static void setVerbose(boolean verbose)
verbose
- 冗長ログ出力フラグCopyright © 2014 NTT DATA Corporation.