jp.terasoluna.fw.batch.core
クラス Chunk

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

public class Chunk
extends java.lang.Object
implements java.lang.Iterable, WorkUnit

チャンククラス。

ビジネスロジックの入力データとなるオブジェクトを一定数分 (あるいは特定のルールに従って)保持するコンテナクラスであり、 JobWorker の入力となる。

ジョブを実行する際の処理単位であり、トランザクションや、 バッチ更新プロセッサBatchUpdateProcessor によるバッチ更新などの単位と なる。

チャンクをデータ数で指定する処理モデルのジョブの場合には、ジョブBean定義 ファイルにおいて以下のような設定を行うことでチャンクサイズの指定を行うことが できる。

設定例


  <!-- チャンクサイズの指定 -->
  <bean id="chunkSize" class="java.lang.Integer">
      <constructor-arg><value>50</value></constructor-arg>
  </bean>
 

ジョブBean定義ファイルにおいて、チャンクサイズを指定しなかった場合には、 フレームワークBean定義ファイルに設定されているチャンクサイズが使用される。


フィールドの概要
private  java.util.List<java.lang.Object> data
          データを格納するリスト。
private  JobContext jobContext
          ジョブコンテクスト。
 
コンストラクタの概要
Chunk()
          コンストラクタ。
Chunk(int chunkSize, JobContext jobContext)
          コンストラクタ。
 
メソッドの概要
 void add(java.lang.Object obj)
          チャンクにデータを追加する。
 JobContext getJobContext()
          ジョブコンテクストを取得する。
 boolean isEndMark()
          チャンクの終端であるかを評価する。
 java.util.Iterator<java.lang.Object> iterator()
          チャンクで保持されているデータの反復子を返す。
 void setJobContext(JobContext jobContext)
          ジョブコンテクストを設定する。
 int size()
          チャンクサイズのサイズを取得する。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

data

private java.util.List<java.lang.Object> data
データを格納するリスト。


jobContext

private JobContext jobContext
ジョブコンテクスト。

コンストラクタの詳細

Chunk

public Chunk(int chunkSize,
             JobContext jobContext)
コンストラクタ。

引数で渡されたチャンクサイズを用いてデータを格納するリストオブジェクトを 初期化する。

引数chunkSizeに負数を渡すと、IllegalArgumentException がスローされる。

パラメータ:
chunkSize - チャンクサイズ 0以上の整数
jobContext - ジョブコンテクスト

Chunk

public Chunk()
コンストラクタ。

dataが要素のないArrayListで初期化され、 jobContextがnullで初期化される。

メソッドの詳細

size

public int size()
チャンクサイズのサイズを取得する。

戻り値:
チャンクサイズ

add

public void add(java.lang.Object obj)
チャンクにデータを追加する。

パラメータ:
obj - 追加対象のデータ

iterator

public java.util.Iterator<java.lang.Object> iterator()
チャンクで保持されているデータの反復子を返す。

定義:
インタフェース java.lang.Iterable 内の iterator
戻り値:
反復子

isEndMark

public boolean isEndMark()
チャンクの終端であるかを評価する。

定義:
インタフェース WorkUnit 内の isEndMark
戻り値:
評価結果

getJobContext

public JobContext getJobContext()
ジョブコンテクストを取得する。

定義:
インタフェース WorkUnit 内の getJobContext
戻り値:
このチャンクに関連付けられているジョブコンテクスト

setJobContext

public void setJobContext(JobContext jobContext)
ジョブコンテクストを設定する。

定義:
インタフェース WorkUnit 内の setJobContext
パラメータ:
jobContext - このチャンクと関連付けるジョブコンテクスト