|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectjp.terasoluna.fw.batch.controlbreak.ControlBreakDef
public class ControlBreakDef
コントロールブレイク定義情報。
ユーザが定義するコントロールブレイクのブレイクキー、ハンドラ情報を格納するクラス。
コントロールブレイクはチャンクコントロールブレイクを定義しなくても使用可能であるが、 チャンクコントロールブレイクを定義した場合、チャンクコントロールブレイクの範囲を超えることはできない。
トランスチャンクコントロールブレイクを使用するにはチャンクコントロールブレイクを定義する必要がある。またチャンクコントロールブレイクキーの項目はトランスチャンクコントロールブレイクキー の項目を含むように定義にする必要がある。
設定例を以下に示す。次に設定不可例を以下に示す。
<!-- チャンクコントロールブレイク設定 -->
<bean id="chunkControlBreakDefItem"
class="jp.terasoluna.fw.batch.controlbreak.ControlBreakDefItem">
<property name="breakKey">
<list>
<value>AAA</value>
<value>AAA</value>
<value>BBB</value>
</list>
</property>
<property name="controlBreakHandler">
<bean class="jp.terasoluna……XXXControlBreakHandler"/>
</property>
</bean>
<!-- コントロールブレイク設定 -->
<util:list id="controlBreakDefItemList">
<bean class="jp.terasoluna.fw.batch.controlbreak.ControlBreakDefItem">
<property name="breakKey">
<list>
<value>AAA</value>
<value>BBB</value>
</list>
</property>
<property name="controlBreakHandler">
<bean class="jp.terasoluna……YYYControlBreakHandler"/>
</property>
</bean>
<bean class="jp.terasoluna.fw.batch.controlbreak.ControlBreakDefItem">
<property name="breakKey">
<list>
<value>AAA</value>
<value>BBB</value>
</list>
</property>
<property name="controlBreakHandler">
<bean class="jp.terasoluna……ZZZControlBreakHandler"/>
</property>
</bean>
</util:list>
<!-- チャンクコントロールブレイク設定 -->
<bean id="chunkControlBreakDefItem"
class="jp.terasoluna.fw.batch.controlbreak.ControlBreakDefItem">
<property name="breakKey">
<list>
<value>AAA</value>
<value>BBB</value>
</list>
</property>
<property name="controlBreakHandler">
<bean class="jp.terasoluna……XXXControlBreakHandler"/>
</property>
</bean>
<!-- トランスチャンクコントロールブレイク設定 -->
<util:list id="transChunkControlBreakDefItemList">
<bean class="jp.terasoluna.fw.batch.controlbreak.ControlBreakDefItem">
<property name="breakKey">
<list>
<value>BBB</value>
</list>
</property>
<property name="controlBreakHandler">
<bean class="jp.terasoluna……YYYControlBreakHandler"/>
</property>
</bean>
<bean class="jp.terasoluna.fw.batch.controlbreak.ControlBreakDefItem">
<property name="breakKey">
<list>
<value>AAA</value>
</list>
</property>
<property name="controlBreakHandler">
<bean class="jp.terasoluna……ZZZControlBreakHandler"/>
</property>
</bean>
</util:list>
<!-- コントロールブレイク設定 -->
<util:list id="controlBreakDefItemList">
<bean class="jp.terasoluna.fw.batch.controlbreak.ControlBreakDefItem">
<property name="breakKey">
<list>
<value>AAA</value>
<value>BBB</value>
</list>
</property>
<property name="controlBreakHandler">
<bean class="jp.terasoluna……YYYControlBreakHandler"/>
</property>
</bean>
<bean class="jp.terasoluna.fw.batch.controlbreak.ControlBreakDefItem">
<property name="breakKey">
<list>
<value>AAA</value>
<value>CCC</value>
</list>
</property>
<property name="controlBreakHandler">
<bean class="jp.terasoluna……ZZZControlBreakHandler"/>
</property>
</bean>
</util:list>
フィールドの概要 | |
---|---|
private ControlBreakDefItem |
chunkControlBreakDefItem
チャンクコントロールブレイクの「ブレイクキー、ハンドラ」。 |
private java.util.List<ControlBreakDefItem> |
controlBreakDefItemList
コントロールブレイクの「ブレイクキー、ハンドラ」リスト。 |
private static org.apache.commons.logging.Log |
log
ログインスタンス。 |
private java.util.List<ControlBreakDefItem> |
transChunkControlBreakDefItemList
トランスチャンクコントロールブレイクの「ブレイクキー、ハンドラ」リスト。 |
コンストラクタの概要 | |
---|---|
ControlBreakDef()
|
メソッドの概要 | |
---|---|
private void |
checkNextBreakKeyList(java.util.List<java.lang.String> checkKeyList,
java.util.List<java.lang.String> nextKeyList,
java.lang.String breakRank)
ソートされた同種類のコントロールブレイク間でのブレイクキーのチェックを行う。 |
private boolean |
existSameKeyInBreakKeyList(java.util.List<java.lang.String> keyList)
ブレイクキー内に重複項目があるかチェックを行う。 |
ControlBreakDefItem |
getChunkControlBreakDefItem()
チャンクコントロールブレイクを取得する。 |
java.util.List<ControlBreakDefItem> |
getControlBreakDefItemList()
コントロールブレイクリストを取得する。 |
ControlBreakHandler<JobContext> |
getControlBreakHandler(java.util.List<java.lang.String> controlBreakkey)
コントロールブレイクリストからコントロールブレイクハンドラを取得する。 |
java.util.List<ControlBreakDefItem> |
getTransChunkControlBreakDefItemList()
トランスチャンクコントロールブレイクリストを取得する。 |
ControlBreakHandler<JobContext> |
getTransChunkControlBreakHandler(java.util.List<java.lang.String> transChunkControlBreakkey)
トランスチャンクコントロールブレイクリストからコントロールブレイクハンドラを取得する。 |
void |
init()
初期化処理。 |
private boolean |
isOutOfRelativeBreakRange(java.util.List<java.lang.String> largeBreakRangeKeyList,
java.util.List<java.lang.String> smallBreakRangeKeyList)
ブレイク範囲が包含関係でないかチェックを行う。 |
void |
setChunkControlBreakDefItem(ControlBreakDefItem chunkControlBreakDefItem)
チャンクコントロールブレイクを設定する。 |
void |
setControlBreakDefItemList(java.util.List<ControlBreakDefItem> controlBreakDefItemList)
コントロールブレイクリストを設定する。 |
void |
setTransChunkControlBreakDefItemList(java.util.List<ControlBreakDefItem> transChunkControlBreakDefItemList)
トランスチャンクコントロールブレイクリストを設定する。 |
private java.lang.String |
showBreakList(java.util.List<java.lang.String> keyList)
(デバッグ用)ブレイクキーの項目内容を表示。 |
private void |
sortControlBreakDefItemListByBreakKeyCount(java.util.List<ControlBreakDefItem> itemList)
コントロールブレイク定義リストをブレイクキーの項目数にて降順(下位順)にソートを行う。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
private static final org.apache.commons.logging.Log log
private java.util.List<ControlBreakDefItem> controlBreakDefItemList
private ControlBreakDefItem chunkControlBreakDefItem
private java.util.List<ControlBreakDefItem> transChunkControlBreakDefItemList
コンストラクタの詳細 |
---|
public ControlBreakDef()
メソッドの詳細 |
---|
public final void init()
初期化処理。
ジョブBean定義ファイルに定義されたコントロールブレイクのブレイクキーの
設定内容をチェックし、不正があればInitializeException
を発生させ処理を中断する。
複数のコントロールブレイクが存在する場合、起動順序である下位順に保持する。
private void sortControlBreakDefItemListByBreakKeyCount(java.util.List<ControlBreakDefItem> itemList)
itemList
- コントロールブレイク定義リストprivate boolean existSameKeyInBreakKeyList(java.util.List<java.lang.String> keyList)
keyList
- ブレークキー
private void checkNextBreakKeyList(java.util.List<java.lang.String> checkKeyList, java.util.List<java.lang.String> nextKeyList, java.lang.String breakRank)
checkKeyList
- チェック対象のブレイクキー(項目数多)nextKeyList
- チェック対象の次に上位にセットされたブレイクキー(項目数少)breakRank
- コントロールブレイクの種類
InitializeException
- コントロールブレイクの包含関係が不正の場合private boolean isOutOfRelativeBreakRange(java.util.List<java.lang.String> largeBreakRangeKeyList, java.util.List<java.lang.String> smallBreakRangeKeyList)
largeBreakRangeKeyList
- 上位のブレイクキー(項目数少)smallBreakRangeKeyList
- 下位のブレイクキー(項目数多)
public ControlBreakDefItem getChunkControlBreakDefItem()
public void setChunkControlBreakDefItem(ControlBreakDefItem chunkControlBreakDefItem)
chunkControlBreakDefItem
- チャンクコントロールブレイクpublic java.util.List<ControlBreakDefItem> getControlBreakDefItemList()
public final void setControlBreakDefItemList(java.util.List<ControlBreakDefItem> controlBreakDefItemList)
controlBreakDefItemList
- コントロールブレイクリストpublic java.util.List<ControlBreakDefItem> getTransChunkControlBreakDefItemList()
public final void setTransChunkControlBreakDefItemList(java.util.List<ControlBreakDefItem> transChunkControlBreakDefItemList)
transChunkControlBreakDefItemList
- トランスチャンクコントロールブレイクリストpublic ControlBreakHandler<JobContext> getTransChunkControlBreakHandler(java.util.List<java.lang.String> transChunkControlBreakkey)
transChunkControlBreakkey
- トランスチャンクコントロールブレイクキー
public ControlBreakHandler<JobContext> getControlBreakHandler(java.util.List<java.lang.String> controlBreakkey)
controlBreakkey
- コントロールブレイクキー
private java.lang.String showBreakList(java.util.List<java.lang.String> keyList)
keyList
- ブレイクキー
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |