jp.terasoluna.fw.batch.controlbreak
クラス ControlBreakChunk

java.lang.Object
  上位を拡張 jp.terasoluna.fw.batch.core.Chunk
      上位を拡張 jp.terasoluna.fw.batch.controlbreak.ControlBreakChunk
すべての実装されたインタフェース:
java.lang.Iterable, WorkUnit

public class ControlBreakChunk
extends Chunk

コントロールブレイク用チャンククラス。

チャンクコントロールブレイクキー毎のチャンクを生成し、キューに追加する。 このクラスでは設定されたキーを解析し、チャンクコントロールブレイクが 発生しているかどうかを判定する。

判断した結果をチャンクやコントロールブレイクRowデータに持たせ、 ControlBreakWorkerControlBreakBLogicExecutor内でそれぞれブレイク処理を起動させる。


フィールドの概要
static java.lang.Object CHUNK_BREAK_MARK
          チャンクのブレイクマーク用オブジェクト。
private  boolean chunkControlBreak
          処理中のデータで、チャンクコントロールブレイクが発生しているかどうかを 示す。
private  ControlBreakDefItem chunkControlBreakDefItem
          チャンクコントロールブレイクキーリスト。
private  java.util.Map<java.lang.String,java.lang.Object> chunkControlBreakMap
          チャンクコントロールブレイクキーマップ。
private  java.util.Map<java.lang.String,java.lang.Object> chunkNextData
          対象オブジェクトに関して、次のオブジェクトの属性を保持するマップ。
private  java.util.List<ControlBreakDefItem> controlBreakDefItemList
          コントロールブレイクキーリスト。
private  java.util.Map<java.lang.String,java.lang.Object> controlBreakMap
          コントロールブレイクキーマップ。
static java.lang.Object END_MARK
          チャンクの終端用オブジェクト。
private  boolean endChunk
          最終チャンクフラグ。
private  org.apache.commons.collections.FastHashMap methodMap
          Methodのcache
private  java.util.Map<java.lang.String,java.lang.Object> nextData
          対象オブジェクトに関して、次のオブジェクトの属性を保持するマップ。
private  java.util.List<ControlBreakDefItem> transChunkControlBreakDefItemList
          トランスコントロールブレイクキーリスト。
private  java.util.List<java.util.List<java.lang.String>> transChunkControlBreakKeyList
          トランスコントロールブレイクキー。
private  java.util.LinkedHashMap<java.lang.String,java.lang.Object> transNextData
          対象オブジェクトに関して、次のオブジェクトの属性を保持するマップ。
 
コンストラクタの概要
ControlBreakChunk(JobContext jobContext, ControlBreakDef controlBreakDef, int chunkSize)
          コンストラクタ
ControlBreakChunk(JobContext jobContext, ControlBreakDef controlBreakDef, int chunkSize, java.util.Map<java.lang.String,java.lang.Object> nextData, java.util.Map<java.lang.String,java.lang.Object> chunkNextData)
          コンストラクタ
 
メソッドの概要
private  void checkTransChunkControlBreak(java.util.Set<java.lang.String> propertyNameSet)
          指定されたプロパティの値の切り替わりによって、チャンクコントロールブレイ クよりも上位のコントロールブレイクが発生しているか確認する。
private  java.lang.Object getBreakKeyValue(java.lang.Object object, java.lang.String breakKey)
          ブレイクキーの値を取得する
 java.util.Map<java.lang.String,java.lang.Object> getChunkControlBreakMap()
          チャンクコントロールブレイクのブレイクキーの値を取得する。
 java.util.Map<java.lang.String,java.lang.Object> getChunkNextData()
          チャンクコントロールブレイクのブレイクキーの値を取得する。
 org.apache.commons.collections.FastHashMap getMethodMap()
           
 java.util.Map<java.lang.String,java.lang.Object> getNextData()
          コントロールブレイクのブレイクキーの値を取得する。
 java.util.List<java.util.List<java.lang.String>> getTransChunkControlBreakKeyList()
          トランスコントロールブレイクキーのリストを取得する。
 boolean isChunkControlBreak()
          チャンクコントロールブレイクが発生しているかどうかを判定する。
 boolean isEndChunk()
          最終チャンクであるかを評価する。
 void setEndChunk(boolean endChunk)
          最終チャンクフラグを設定する。
 ControlBreakRowObject setLastData(java.lang.Object last)
          最終データのコントロールブレイク情報の再設定
 void setMethodMap(org.apache.commons.collections.FastHashMap methodMap)
           
 ControlBreakRowObject setNext(java.lang.Object next)
          次データを設定する。
 
クラス jp.terasoluna.fw.batch.core.Chunk から継承されたメソッド
add, getJobContext, isEndMark, iterator, setJobContext, size
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

END_MARK

public static final java.lang.Object END_MARK
チャンクの終端用オブジェクト。


CHUNK_BREAK_MARK

public static final java.lang.Object CHUNK_BREAK_MARK
チャンクのブレイクマーク用オブジェクト。


controlBreakDefItemList

private final java.util.List<ControlBreakDefItem> controlBreakDefItemList
コントロールブレイクキーリスト。(小)


chunkControlBreakDefItem

private final ControlBreakDefItem chunkControlBreakDefItem
チャンクコントロールブレイクキーリスト。(中)


transChunkControlBreakDefItemList

private final java.util.List<ControlBreakDefItem> transChunkControlBreakDefItemList
トランスコントロールブレイクキーリスト。(大)


chunkControlBreak

private boolean chunkControlBreak
処理中のデータで、チャンクコントロールブレイクが発生しているかどうかを 示す。


chunkControlBreakMap

private java.util.Map<java.lang.String,java.lang.Object> chunkControlBreakMap
チャンクコントロールブレイクキーマップ。 対象オブジェクトに関して、処理中のオブジェクトの属性を保持するマップ。 チャンクコントロールブレイクキーを構成するプロパティのみを保持する。


chunkNextData

private java.util.Map<java.lang.String,java.lang.Object> chunkNextData
対象オブジェクトに関して、次のオブジェクトの属性を保持するマップ。 チャンクコントロールブレイクキーを構成するプロパティのみを保持する。


controlBreakMap

private java.util.Map<java.lang.String,java.lang.Object> controlBreakMap
コントロールブレイクキーマップ。 対象オブジェクトに関して、処理中のオブジェクトの属性を保持するマップ。 コントロールブレイクキーを構成するプロパティのみを保持する。


nextData

private java.util.Map<java.lang.String,java.lang.Object> nextData
対象オブジェクトに関して、次のオブジェクトの属性を保持するマップ。 コントロールブレイクキーを構成するプロパティのみを保持する。


transChunkControlBreakKeyList

private java.util.List<java.util.List<java.lang.String>> transChunkControlBreakKeyList
トランスコントロールブレイクキー。


transNextData

private java.util.LinkedHashMap<java.lang.String,java.lang.Object> transNextData
対象オブジェクトに関して、次のオブジェクトの属性を保持するマップ。 トランスコントロールブレイクキーを構成するプロパティのみを保持する。


endChunk

private boolean endChunk
最終チャンクフラグ。


methodMap

private org.apache.commons.collections.FastHashMap methodMap
Methodのcache

コンストラクタの詳細

ControlBreakChunk

public ControlBreakChunk(JobContext jobContext,
                         ControlBreakDef controlBreakDef,
                         int chunkSize)
コンストラクタ

パラメータ:
jobContext - ジョブコンテキスト
controlBreakDef - コントロールブレイクの定義情報
chunkSize - チャンクサイズ

ControlBreakChunk

public ControlBreakChunk(JobContext jobContext,
                         ControlBreakDef controlBreakDef,
                         int chunkSize,
                         java.util.Map<java.lang.String,java.lang.Object> nextData,
                         java.util.Map<java.lang.String,java.lang.Object> chunkNextData)
コンストラクタ

パラメータ:
jobContext - JobContext
controlBreakDef - コントロールブレイク定義
chunkSize - チャンクサイズ
nextData - 前チャンクのコントロールブレイクキーの構成情報
chunkNextData - 前チャンクのチャンクコントロールブレイクキーの構成 情報
メソッドの詳細

setNext

public ControlBreakRowObject setNext(java.lang.Object next)
次データを設定する。

パラメータ:
next - 次データ
戻り値:
コントロールブレイク用Rowオブジェクトクラス

setLastData

public ControlBreakRowObject setLastData(java.lang.Object last)
最終データのコントロールブレイク情報の再設定

パラメータ:
last - 最終データ
戻り値:
コントロールブレイク用Rowオブジェクトクラス

checkTransChunkControlBreak

private void checkTransChunkControlBreak(java.util.Set<java.lang.String> propertyNameSet)
指定されたプロパティの値の切り替わりによって、チャンクコントロールブレイ クよりも上位のコントロールブレイクが発生しているか確認する。

パラメータ:
propertyNameSet - 値の切り替わりが発生したプロパティ名

getChunkControlBreakMap

public java.util.Map<java.lang.String,java.lang.Object> getChunkControlBreakMap()
チャンクコントロールブレイクのブレイクキーの値を取得する。

戻り値:
チャンクコントロールブレイクのブレイクキーの値

getTransChunkControlBreakKeyList

public java.util.List<java.util.List<java.lang.String>> getTransChunkControlBreakKeyList()
トランスコントロールブレイクキーのリストを取得する。

戻り値:
トランスコントロールブレイクキーのリスト

isChunkControlBreak

public boolean isChunkControlBreak()
チャンクコントロールブレイクが発生しているかどうかを判定する。

戻り値:
チャンクコントロールブレイクが発生している場合には、 true

isEndChunk

public boolean isEndChunk()
最終チャンクであるかを評価する。

戻り値:
最終チェックの場合、true

setEndChunk

public void setEndChunk(boolean endChunk)
最終チャンクフラグを設定する。

パラメータ:
endChunk - 最終チャンクフラグ

getNextData

public java.util.Map<java.lang.String,java.lang.Object> getNextData()
コントロールブレイクのブレイクキーの値を取得する。

戻り値:
controlBreakMap コントロールブレイクのブレイクキーの値

getChunkNextData

public java.util.Map<java.lang.String,java.lang.Object> getChunkNextData()
チャンクコントロールブレイクのブレイクキーの値を取得する。

戻り値:
chunkNextData チャンクコントロールブレイクのブレイクキーの値

getBreakKeyValue

private java.lang.Object getBreakKeyValue(java.lang.Object object,
                                          java.lang.String breakKey)
ブレイクキーの値を取得する

パラメータ:
object - RowObject
breakKey - ブレイクキー
戻り値:
ブレイクキーの値

getMethodMap

public org.apache.commons.collections.FastHashMap getMethodMap()
戻り値:
methodMap を戻します。

setMethodMap

public void setMethodMap(org.apache.commons.collections.FastHashMap methodMap)
パラメータ:
methodMap - 設定する methodMap。