jp.terasoluna.fw.collector
クラス AbstractCollector<P>

java.lang.Object
  上位を拡張 jp.terasoluna.fw.collector.AbstractCollector<P>
すべての実装されたインタフェース:
Closeable, Cloneable, Iterable<P>, Callable<Integer>, Iterator<P>, Collector<P>
直系の既知のサブクラス:
DBCollector, FileCollector

public abstract class AbstractCollector<P>
extends Object
implements Collector<P>, Closeable, Callable<Integer>, Cloneable

AbstractCollector抽象クラス


フィールドの概要
protected  AtomicLong acquireDataCount
          データカウント
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  Queue<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)
          キューにデータを追加する。
 void close()
          このストリームを閉じて、それに関連するすべてのシステムリソースを解放します。
static void closeQuietly(Collector<?> collector)
          Collectorをクローズする。
protected  Queue<DataValueObject> createCurrentQueue()
          currentキューを作成する
protected  Queue<DataValueObject> createPreviousQueue()
          previousキューを作成する
protected  Queue<DataValueObject> createQueue()
          キューを作成する
protected  void execute()
          AbstractCollectorを実行する。
protected  void finalize()
           
 P getCurrent()
          現在の要素を返します。
protected  ExecutorService getExecutor()
          getExecutorメソッド.
 P getNext()
          ポインタを次の要素に移さずに次の要素を返します。
 P getPrevious()
          1件前の要素を返します。
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)
          入力チェックを行う.
 
クラス java.lang.Object から継承されたメソッド
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
インタフェース java.util.concurrent.Callable から継承されたメソッド
call
 

フィールドの詳細

DEFAULT_QUEUE_SIZE

public static final int DEFAULT_QUEUE_SIZE
デフォルトのキューサイズ

関連項目:
定数フィールド値

DEFAULT_SLEEP_WAIT

protected static final int DEFAULT_SLEEP_WAIT
デフォルトスリープ時間(msec)

関連項目:
定数フィールド値

CURRENT_QUEUE_CHECK_SIZE

protected static final int CURRENT_QUEUE_CHECK_SIZE
現在キュー保持数チェックサイズ

関連項目:
定数フィールド値

PREVIOUS_QUEUE_CHECK_SIZE

protected static final int PREVIOUS_QUEUE_CHECK_SIZE
後方キュー保持数チェックサイズ

関連項目:
定数フィールド値

verboseLog

protected static AtomicBoolean verboseLog
冗長ログ出力フラグ.


queueSize

protected int queueSize
キューサイズ


sleepWait

protected int sleepWait
スリープ時間(msec)


queue

protected Queue<DataValueObject> queue
キュー


currentQueue

protected Queue<DataValueObject> currentQueue
現在キュー


previousQueue

protected Queue<DataValueObject> previousQueue
後方キュー


fo

protected volatile Future<?> fo
非同期処理の結果を取得するためのクラス


finish

protected volatile boolean finish
終了フラグ


beginning

protected volatile boolean beginning
実行開始フラグ


validator

protected org.springframework.validation.Validator validator
Validator


validationErrorHandler

protected ValidationErrorHandler validationErrorHandler
ValidationErrorHandler


exceptionHandler

protected CollectorExceptionHandler exceptionHandler
CollectorExceptionHandler


child

protected AbstractCollector<?> child
子スレッド側インスタンス


acquireDataCount

protected AtomicLong acquireDataCount
データカウント

コンストラクタの詳細

AbstractCollector

public AbstractCollector()
メソッドの詳細

execute

protected void execute()
AbstractCollectorを実行する。


hasNext

public boolean hasNext()
繰り返し処理でさらに要素がある場合に true を返します。
つまり、next の呼び出しが例外をスローすることなく要素を返す場合は、true を返します。

※本メソッドはマルチスレッドセーフでありません。

定義:
インタフェース Iterator<P> 内の hasNext
戻り値:
反復子がさらに要素を持つ場合は true
関連項目:
Iterator.hasNext()

next

public P next()
繰り返し処理で次の要素を返します。

※本メソッドはマルチスレッドセーフでありません。

定義:
インタフェース Iterator<P> 内の next
戻り値:
繰り返し処理で次の要素
例外:
NoSuchElementException - 繰り返し処理でそれ以上要素がない場合
関連項目:
Iterator.next()

getNext

public P getNext()
ポインタを次の要素に移さずに次の要素を返します。

nullの場合は次の要素が存在しないことを示します。
ポインタは移動しません。

※本メソッドはマルチスレッドセーフでありません。

定義:
インタフェース Collector<P> 内の getNext
戻り値:
<P>
関連項目:
Collector.getNext()

getPrevious

public P getPrevious()
1件前の要素を返します。

1件目の場合はnullが返ります。
ポインタは移動しません。

※本メソッドはマルチスレッドセーフでありません。

定義:
インタフェース Collector<P> 内の getPrevious
戻り値:
<P>
関連項目:
Collector.getPrevious()

getCurrent

public P getCurrent()
現在の要素を返します。

nullの場合は現在の要素が存在しないことを示します。
ポインタは移動しません。

※本メソッドはマルチスレッドセーフでありません。

定義:
インタフェース Collector<P> 内の getCurrent
戻り値:
<P>
関連項目:
Collector.getCurrent()

close

public void close()
このストリームを閉じて、それに関連するすべてのシステムリソースを解放します。
ストリームがすでに閉じられている場合は、このメソッドを呼び出しても何の効果もありません。

※本メソッドはマルチスレッドセーフでありません。

定義:
インタフェース Closeable 内の close
例外:
IOException - 入出力エラーが発生した場合
関連項目:
Closeable.close()

remove

public void remove()
基になるコレクションから、反復子によって最後に返された要素を削除します (任意のオペレーション)。
このメソッドは、next の呼び出しごとに 1 回だけ呼び出すことができます。反復子の動作は、
繰り返し処理がこのメソッドの呼び出し以外の方法で実行されているときに基になるコレクションが変更された場合は保証されません。

※本メソッドはマルチスレッドセーフでありません。

定義:
インタフェース Iterator<P> 内の remove
例外:
UnsupportedOperationException - Iterator が remove オペレーションをサポートしない場合
IllegalStateException - next メソッドがまだ呼び出されてない場合、または next メソッドの最後の呼び出しのあとに remove メソッドがすでに呼び出されている場合
関連項目:
Iterator.remove()

finalize

protected void finalize()
                 throws Throwable
オーバーライド:
クラス Object 内の finalize
例外:
Throwable

iterator

public Iterator<P> iterator()
定義:
インタフェース Iterable<P> 内の iterator

getExecutor

protected ExecutorService getExecutor()
getExecutorメソッド.

戻り値:
ExecutorService

createQueue

protected Queue<DataValueObject> createQueue()
キューを作成する

戻り値:

createCurrentQueue

protected Queue<DataValueObject> createCurrentQueue()
currentキューを作成する

戻り値:
Queue<DataValueObject>

createPreviousQueue

protected Queue<DataValueObject> createPreviousQueue()
previousキューを作成する

戻り値:
Queue<DataValueObject>

getQueue

protected Queue<DataValueObject> getQueue()
キューを取得する。

戻り値:
Queue<DataValueObject>

setQueueSize

protected void setQueueSize(int queueSize)
キューサイズを指定する。

パラメータ:
queueSize - int

getSleepWait

protected int getSleepWait()
スリープ時間(msec)

戻り値:
スリープ時間(msec)

setSleepWait

protected void setSleepWait(int sleepWait)
スリープ時間(msec)

パラメータ:
sleepWait - スリープ時間(msec)

addQueue

protected void addQueue(DataValueObject dataValueObject)
                 throws InterruptedException
キューにデータを追加する。

パラメータ:
dataValueObject - DataValueObject
例外:
InterruptedException

addQueue

protected void addQueue(DataValueObject dataValueObject,
                        boolean force)
                 throws InterruptedException
キューにデータを追加する。

パラメータ:
dataValueObject - DataValueObject
force - boolean 強制キューイングフラグ
例外:
InterruptedException

validate

protected ValidateErrorStatus validate(DataValueObject dataValueObject)
入力チェックを行う.

パラメータ:
dataValueObject - DataValueObject
戻り値:
ValidateStatus

handleValidationError

protected ValidateErrorStatus handleValidationError(DataValueObject dataValueObject,
                                                    org.springframework.validation.Errors errors)
入力チェックエラー時の処理.

パラメータ:
dataValueObject - DataValueObject
errors - Errors
戻り値:
ValidateErrorStatus

handleException

protected CollectorExceptionHandlerStatus handleException(DataValueObject dataValueObject)
例外発生時の処理

パラメータ:
dataValueObject - DataValueObject
戻り値:
CollectorExceptionHandlerStatus

isFinish

protected boolean isFinish()
終了フラグの状態を確認する。

戻り値:
boolean

setFinish

protected void setFinish()
終了フラグを設定する。


setFinish

protected void setFinish(boolean finish)
終了フラグを設定する。

パラメータ:
finish -

closeQuietly

public static void closeQuietly(Collector<?> collector)
Collectorをクローズする。

引数に渡されたcollectorがnullでなければクローズする。
また、クローズする際にIO例外が発生した場合は無視する。

パラメータ:
collector - Collector

setVerbose

public static void setVerbose(boolean verbose)
冗長ログ出力フラグを設定する。

パラメータ:
verbose - 冗長ログ出力フラグ


Copyright © 2012. All Rights Reserved.