クラス BizLogic_TABLE

java.lang.Object
org.opengion.fukurou.business.AbstractBizLogic
org.opengion.fukurou.business.BizLogic_TABLE

public class BizLogic_TABLE extends AbstractBizLogic
配列型テーブルモデルをメインカーソルとした業務ロジックの構造を定義します。 配列型テーブルモデルについては、setTable( ArrayTableModel )によりセットします。 配列型テーブルモデルが定義されていない場合、エラーとなります。 このクラスでは、以下に示すメソッドが呼び出されるタイミングのみを定義しています。 メソッドの中身については、サブクラスでオーバーライドし実装して下さい。 処理が途中で中断される条件は、以下の3つです。 ①各メソッドの戻り値がfalseの場合 ②チェックメソッド(chk***())が全ての行で実行された後、エラーメッセージに"エラー"が含まれている場合 ③実行時エラーが発生した場合 fstchk() 変更区分に関わらず 処理を始める前に呼び出し 8.0.2.0 (2021/11/30) 行単位ロジックチェックは廃止 useLoop == true befchk( int row ) 変更区分に関わらず 各行について呼び出し(insert,modify,deleteの前に呼び出し) inschk( int row ) 変更区分が"A"の場合 各行について呼び出し modchk( int row ) 変更区分が"C"の場合 各行について呼び出し delchk( int row ) 変更区分が"D"の場合 各行について呼び出し allchk( int row ) 変更区分に関わらず 各行について呼び出し(insert,modify,deleteの後に呼び出し) first() 変更区分に関わらず 最初の行でのみ呼び出し useLoop == true befall( int row ) 変更区分に関わらず 各行について呼び出し(insert,modify,deleteの前に呼び出し) insert( int row ) 変更区分が"A"の場合 各行について呼び出し modify( int row ) 変更区分が"C"の場合 各行について呼び出し delete( int row ) 変更区分が"D"の場合 各行について呼び出し allrow( int row ) 変更区分に関わらず 各行について呼び出し(insert,modify,deleteの後に呼び出し) last() 変更区分に関わらず 最後の行でのみ呼び出し ※ インデックス(row)とは、このArrayTableModel に持つ vals 配列の行のインデックスです。 よって、オリジナルのDBTableModelの行番号ではありません。 8.0.2.0 (2021/11/30) 行単位ロジックチェックは廃止。 befchk,inschk,modchk,delchk,allchk 必要であれば、fstchk() で、DataModel を取得して処理してください。
変更履歴:
5.1.1.0 (2009/12/01) 新規作成
機能分類
業務ロジック
導入されたバージョン:
JDK1.6,
  • コンストラクタの詳細

    • BizLogic_TABLE

      public BizLogic_TABLE()
      デフォルトコンストラクター
      変更履歴:
      6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
  • メソッドの詳細

    • init

      protected void init()
      処理のメインロジックの前処理を記述します。 (ここでは何もしません) このメソッド自体は、protected属性であるため、サブクラスから直接参照することができます。 但し、これは、各業務ロジックで直接参照することを想定したものではなく、BizLogicの メイン構造を拡張するサブクラスを定義する際に使用することを想定しています。 (この想定がなければ、本来は、package privateにすべきです) このため、業務ロジックを各実装クラスでは直接参照しないで下さい。
      定義:
      init クラス内 AbstractBizLogic
    • main

      protected boolean main()
      処理のメインロジックを記述します。 このメソッド自体は、protected属性であるため、サブクラスから直接参照することができます。 但し、これは、各業務ロジックで直接参照することを想定したものではなく、BizLogicの メイン構造を拡張するサブクラスを定義する際に使用することを想定しています。 (この想定がなければ、本来は、package privateにすべきです) このため、業務ロジックを各実装クラスでは直接参照しないで下さい。
      定義:
      main クラス内 AbstractBizLogic
      戻り値:
      処理が正常終了したか
      変更履歴:
      5.1.8.0 (2010/07/01) first,lastは行ループの中で呼び出し, 5.6.7.0 (2013/07/27) Exception を throw するとき、一旦、errMsg 変数にセットします。, 6.7.9.1 (2017/05/19) protected ArrayTableModel を、private DataModel に変更します。, 6.8.5.0 (2018/01/09) first(),last() をループから出して、ループを回すかどうかを引数で指定します。, 8.0.2.0 (2021/11/30) 行単位ロジックチェックは廃止。
    • isRequireTable

      boolean isRequireTable()
      このクラスは、テーブルモデルが外部から指定されている必要があります。 このメソッド自体は、protected属性であるため、サブクラスから直接参照することができます。 但し、これは、各業務ロジックで直接参照することを想定したものではなく、BizLogicの メイン構造を拡張するサブクラスを定義する際に使用することを想定しています。 (この想定がなければ、本来は、package privateにすべきです) このため、業務ロジックを各実装クラスでは直接参照しないで下さい。
      オーバーライド:
      isRequireTable クラス内 AbstractBizLogic
      戻り値:
      テーブルモデルが外部から指定されている必要があるかどうか(常にtrue)
      関連項目:
      変更履歴:
      8.0.2.0 (2021/11/30) protected → default 変更(サブクラスからのアクセスはない)
    • fstchk

      protected boolean fstchk()
      メインカーソルの一番初めで呼ばれるチェックロジックを定義します。 ここでは何も実装されていません。
      戻り値:
      処理が正常終了したか
    • first

      protected boolean first()
      メインカーソルの一番初めで呼ばれるロジックを定義します。 ここでは何も実装されていません。
      戻り値:
      処理が正常終了したか
    • last

      protected boolean last()
      メインカーソルの一番最後で呼ばれるロジックを定義します。 ここでは何も実装されていません。
      戻り値:
      処理が正常終了したか
    • befall

      protected boolean befall(int row)
      メインカーソルの各行(変更区分の各処理の前)で呼ばれるロジックを定義します。 ここでは何も実装されていません。
      パラメータ:
      row - 行番号(インデックス)
      戻り値:
      処理が正常終了したか
    • allrow

      protected boolean allrow(int row)
      メインカーソルの各行(変更区分の各処理の後)で呼ばれるロジックを定義します。 ここでは何も実装されていません。
      パラメータ:
      row - 行番号(インデックス)
      戻り値:
      処理が正常終了したか
    • insert

      protected boolean insert(int row)
      メインカーソルの各行(変更区分="A")で呼ばれるロジックを定義します。 ここでは何も実装されていません。
      パラメータ:
      row - 行番号(インデックス)
      戻り値:
      処理が正常終了したか
    • modify

      protected boolean modify(int row)
      メインカーソルの各行(変更区分="C")で呼ばれるロジックを定義します。 ここでは何も実装されていません。
      パラメータ:
      row - 行番号(インデックス)
      戻り値:
      処理が正常終了したか
    • delete

      protected boolean delete(int row)
      メインカーソルの各行(変更区分="D")で呼ばれるロジックを定義します。 ここでは何も実装されていません。
      パラメータ:
      row - 行番号(インデックス)
      戻り値:
      処理が正常終了したか
    • setUseLoop

      protected final void setUseLoop(boolean useLoop)
      ループを回すかどうかを指定します。 ループ処理を使用しない場合の処理速度向上のためのフラグです。 ループ処理とは、引数に row番号を指定する関数です。 初期値は、true(ループを回す) です。 false を指定すると、それらのメソッドは使用されず、fstchk()、first()、last() のみ呼び出されます。 init() と main() は、AbstractBizLogic#exec() から呼ばれるため、通常通り呼び出されます。
      パラメータ:
      useLoop - ループを回すかどうか
      変更履歴:
      6.8.5.0 (2018/01/09) ループを回すかどうかを引数で指定します。