org.opengion.fukurou.business

## クラス AbstractBizLogic

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

- 直系の既知のサブクラス:
    BizLogic_ENTRY, BizLogic_TABLE

      public abstract class AbstractBizLogic
      extends java.lang.Object

       業務ロジックを処理するために必要な共通メソッドの実行を行っている抽象クラスです。

       メインロジックについては、各サブクラスで実装する必要があります。

  変更履歴:

    5.1.1.0 (2009/12/01) 新規作成

  機能分類
    業務ロジック
  バージョン
    5.0
  作成者
    Hiroki Nakamura
  導入されたバージョン:
    JDK1.6,

- - ### フィールドのサマリー

    フィールド
    修飾子とタイプ | フィールドと説明
    --- | ---
    `(package private) DBFunctionName` | `dbName`
    `protected static int` | `EXCEPTION` エラーメッセージをセットする際に使用します 8
    `protected static int` | `NG` エラーメッセージをセットする際に使用します 2
    `protected static int` | `OK` エラーメッセージをセットする際に使用します 0
    `protected static int` | `ORCL_ERR` エラーメッセージをセットする際に使用します 9
    `protected int` | `row` 配列型テーブルモデルの現在の処理行 行番号自体は、protected属性であるため、サブクラスから直接参照することができます。
    `protected static int` | `WARNING` エラーメッセージをセットする際に使用します 1

  - ### コンストラクタのサマリー

    コンストラクタ
    修飾子 | コンストラクタと説明
    --- | ---
    `protected` | `AbstractBizLogic()` デフォルトコンストラクター

  - ### メソッドのサマリー

    すべてのメソッド インスタンス・メソッド abstractメソッド concreteメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `protected boolean` | `call(java.lang.String subLogicName, java.lang.String key, java.lang.String val)` 子ロジックを実行します。
    `protected boolean` | `call(java.lang.String subLogicName, java.lang.String key, java.lang.String val, int rw, DataModel tbl)` 子ロジックを実行します。
    `protected DataModel` | `createTableBySql(java.lang.String sq)` 検索SQLを実行し、結果を配列型テーブルモデルとして返します。
    `protected DataModel` | `createTableBySql(java.lang.String sq, int rw, DataModel tbl)` 検索SQLを実行し、結果を配列型テーブルモデルとして返します。
    `protected void` | `debug(java.lang.String msg)` デバッグメッセージを追加します。
    `protected void` | `error(int rw, int kekka, java.lang.String id, java.lang.String[] args)` 行指定でエラーメッセージを追加します。
    `protected void` | `error(int kekka, java.lang.String id, java.lang.String[] args)` エラーメッセージを追加します。
    `(package private) boolean` | `exec()` 処理を実行します。
    `protected boolean` | `exist(java.lang.String type, java.lang.String tblId, java.lang.String ns, java.lang.String vs)` マスタチェックを行います。
    `protected boolean` | `exist(java.lang.String type, java.lang.String tblId, java.lang.String ns, java.lang.String vs, java.lang.String conNs, java.lang.String conVs)` マスタチェックを行います。
    `protected boolean` | `exist(java.lang.String type, java.lang.String tblId, java.lang.String ns, java.lang.String vs, java.lang.String conNs, java.lang.String conVs, boolean isErrThrow)` マスタチェックを行います。
    `(package private) java.lang.String` | `getDebugMsg()` デバッグメッセージを取得します。
    `(package private) ErrorMessage` | `getErrMsg()` エラーメッセージオブジェクトを返します。
    `(package private) int` | `getKekka()` 結果ステータスを返します。
    `(package private) java.lang.String` | `getReturn()` 業務ロジックの戻り値を返します。
    `protected DataModel` | `getTable()` 配列型テーブルモデルを取得します。
    `protected abstract void` | `init()` 処理のメインロジックの前処理を記述します。
    `protected boolean` | `isDebug()` デバッグモードかどうかを返します。
    `protected boolean` | `isLine(java.lang.String clm)` テーブルにカラムが存在しているかを返します。
    `protected boolean` | `isRequireTable()` 業務ロジックを実行するために、テーブルモデルが外部からセットされる必要があるか を返します。
    `protected java.lang.String` | `line(int col)` 処理中の行の指定されたカラム番号の値を返します。
    `protected java.lang.String` | `line(int col, int rw)` メインの配列型テーブルモデルに対して、行を指定して値を取得します。
    `protected java.lang.String` | `line(java.lang.String key)` 処理中の行の指定されたキー(カラム名)の値を返します。
    `protected java.lang.String` | `line(java.lang.String key, int rw)` メインの配列型テーブルモデルに対して、行を指定して値を取得します。
    `protected double` | `lined(java.lang.String key)` 処理中の行の指定されたキー(カラム名)の値をdouble型に変換して返します。
    `protected double` | `lined(java.lang.String key, int rw)` メインの配列型テーブルモデルに対して、行を指定して値をdouble型に変換して返します。
    `protected int` | `linei(java.lang.String key)` 処理中の行の指定されたキー(カラム名)の値をint型に変換して返します。
    `protected int` | `linei(java.lang.String key, int rw)` メインの配列型テーブルモデルに対して、行を指定して値をint型に変換して返します。
    `protected java.lang.String[]` | `lineKeys()` テーブルのカラム名の一覧を配列形式で返します。
    `protected abstract boolean` | `main()` 処理のメインロジックを記述します。
    `protected boolean` | `must(java.lang.String cs)` パラメーターの必須チェックを行います。
    `protected void` | `rtn(java.lang.String rtn)` 業務ロジックの戻り値をセットします。
    `protected int` | `seq(java.lang.String seqName)` シーケンス名よりシーケンスオブジェクトを検索し、次の値を取り出します。
    `protected void` | `set(java.lang.String key, double val)` 指定されたキーで値(double型)を登録します。
    `protected void` | `set(java.lang.String key, int val)` 指定されたキーで値を登録します。
    `protected void` | `set(java.lang.String key, java.lang.String val)` 指定されたキーで値を登録します。
    `(package private) void` | `setDbid(java.lang.String id)` 接続先IDを指定します。
    `(package private) void` | `setDebug()` デバッグモードにします。
    `(package private) void` | `setKeys(java.lang.String[] ks)` 固定値のキー配列を指定します。
    `(package private) void` | `setLoader(HybsLoader ldr)` 業務ロジックのクラスをロードするためのクラスローダーをセットします。
    `(package private) void` | `setParentPgId(java.lang.String id)` 親(呼び出し)PGIDを指定します。
    `(package private) void` | `setTable(DataModel tbl)` 配列型テーブルモデルをセットします。
    `void` | `setTransaction(Transaction tr)` DBのトランザクションオブジェクトを指定します。
    `(package private) void` | `setUserId(java.lang.String id)` この処理の実行ユーザーIDを指定します。
    `(package private) void` | `setVals(java.lang.String[] vs)` 固定値の値配列を指定します。
    `protected void` | `sql(java.lang.String sq)` SQLを実行します。
    `protected void` | `sql(java.lang.String sq, int rw, DataModel tbl)` SQLを実行します。
    `protected double` | `str2dbl(java.lang.String val)` 文字列をdoubleに変換します。
    `protected int` | `str2int(java.lang.String val)` 文字列を整数に変換します。
    `protected java.lang.String` | `var(java.lang.String key)` 指定されたキーの値を返します。
    `protected double` | `vard(java.lang.String key)` 指定されたキーの値をdouble型に変換して返します。
    `protected int` | `vari(java.lang.String key)` 指定されたキーの値をint型に変換して返します。
    `protected java.lang.String[]` | `varKeys()` パラメーターのキー一覧を配列形式で返します。

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### フィールドの詳細

    - #### OK

          protected static final int OK

      エラーメッセージをセットする際に使用します 0
      関連項目:
        定数フィールド値

    - #### WARNING

          protected static final int WARNING

      エラーメッセージをセットする際に使用します 1
      関連項目:
        定数フィールド値

    - #### NG

          protected static final int NG

      エラーメッセージをセットする際に使用します 2
      関連項目:
        定数フィールド値

    - #### EXCEPTION

          protected static final int EXCEPTION

      エラーメッセージをセットする際に使用します 8
      関連項目:
        定数フィールド値

    - #### ORCL_ERR

          protected static final int ORCL_ERR

      エラーメッセージをセットする際に使用します 9
      関連項目:
        定数フィールド値

    - #### dbName

          DBFunctionName dbName

    - #### row

          protected int row

      配列型テーブルモデルの現在の処理行 行番号自体は、protected属性であるため、サブクラスから直接参照することができます。 但し、これは、各業務ロジックで直接参照することを想定したものではなく、BizLogicの メイン構造を拡張するサブクラスを定義する際に使用することを想定しています。 (この想定がなければ、本来は、package privateにすべきです) このため、業務ロジックを各実装クラスでは直接参照しないで下さい。 ※ インデックス(row)とは、このArrayTableModel に持つ vals 配列の行のインデックスです。 よって、オリジナルのDBTableModelの行番号ではありません。

  - ### コンストラクタの詳細

    - #### AbstractBizLogic

          protected AbstractBizLogic()

      デフォルトコンストラクター
      変更履歴:

        6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.

  - ### メソッドの詳細

    - #### setTransaction

          public void setTransaction(Transaction tr)

      DBのトランザクションオブジェクトを指定します。 各実装クラスでは、コネクションのcommit,rollbackは行われません。 (全てのDB処理は、1つのトランザクションとして処理されます。) このため、commit,rollbackは呼び出し元で行う必要があります。 このメソッドは、1度しかセットすることができません。2回以上呼び出しするとエラーになります。
      パラメータ:
        `tr` - トランザクション
      変更履歴:

        5.1.9.0 (2010/08/01) 新規作成
        5.3.8.0 (2011/08/01) useParamMetaData を ConnectionFactory経由で取得。(PostgreSQL対応)

    - #### setDbid

          void setDbid(java.lang.String id)

      接続先IDを指定します。 このメソッドは、1度しかセットすることができません。2回以上呼び出しするとエラーになります。
      パラメータ:
        `id` - 接続先ID
      変更履歴:

        5.1.9.0 (2010/08/01) 新規作成

    - #### setLoader

          void setLoader(HybsLoader ldr)

      業務ロジックのクラスをロードするためのクラスローダーをセットします。 このメソッドは、1度しかセットすることができません。2回以上呼び出しするとエラーになります。
      パラメータ:
        `ldr` - クラスローダー
      変更履歴:

        5.6.7.0 (2013/07/27) Exception を throw するとき、一旦、errMsg 変数にセットします。

    - #### setTable

          void setTable(DataModel tbl)

      配列型テーブルモデルをセットします。 このメソッドは、1度しかセットすることができません。2回以上呼び出しするとエラーになります。
      パラメータ:
        `tbl` - 配列型テーブルモデル
      変更履歴:

        5.6.7.0 (2013/07/27) Exception を throw するとき、一旦、errMsg 変数にセットします。
        6.7.9.1 (2017/05/19) ArrayTableModel をDataModel に変更。

    - #### getTable

          protected DataModel getTable()

      配列型テーブルモデルを取得します。
      戻り値:
        配列型テーブルモデル
      変更履歴:

        6.7.9.1 (2017/05/19) 新規追加

    - #### setKeys

          void setKeys(java.lang.String[] ks)

      固定値のキー配列を指定します。 このメソッドは、1度しかセットすることができません。2回以上呼び出しするとエラーになります。
      パラメータ:
        `ks` - キー配列(可変長引数)
      変更履歴:

        5.6.7.0 (2013/07/27) Exception を throw するとき、一旦、errMsg 変数にセットします。

    - #### setVals

          void setVals(java.lang.String[] vs)

      固定値の値配列を指定します。 このメソッドは、1度しかセットすることができません。2回以上呼び出しするとエラーになります。
      パラメータ:
        `vs` - 値配列(可変長引数)
      変更履歴:

        5.6.7.0 (2013/07/27) Exception を throw するとき、一旦、errMsg 変数にセットします。

    - #### setUserId

          void setUserId(java.lang.String id)

      この処理の実行ユーザーIDを指定します。
      パラメータ:
        `id` - 実行ユーザーID(not null)

    - #### setParentPgId

          void setParentPgId(java.lang.String id)

      親(呼び出し)PGIDを指定します。
      パラメータ:
        `id` - 親PGID

    - #### setDebug

          void setDebug()

      デバッグモードにします。

    - #### getDebugMsg

          java.lang.String getDebugMsg()

      デバッグメッセージを取得します。
      戻り値:
        デバッグメッセージ
      このメソッドは、nullを返しません

    - #### exec

          boolean exec()
                throws java.lang.Throwable

      処理を実行します。 処理の方法は、main()メソッドにより定義されます。 実装クラスで発生した全ての例外は、Throwableオブジェクトとしてスローされます。 呼び出し元では、例外を確実にcatchして、commit,rollbackを行ってください。
      戻り値:
        処理が成功したかどうか
      例外:
        `java.lang.Throwable` - 実行時の全エラーを上位に転送します。
      変更履歴:

        5.1.9.0 (2010/08/01) シーケンス対応

    - #### init

          protected abstract void init()

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

    - #### main

          protected abstract boolean main()

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

    - #### getKekka

          int getKekka()

      結果ステータスを返します。
      戻り値:
        結果ステータス

    - #### getErrMsg

          ErrorMessage getErrMsg()

      エラーメッセージオブジェクトを返します。
      戻り値:
        エラーメッセージ

    - #### getReturn

          java.lang.String getReturn()

      業務ロジックの戻り値を返します。
      戻り値:
        戻り値

    - #### isRequireTable

          protected boolean isRequireTable()

      業務ロジックを実行するために、テーブルモデルが外部からセットされる必要があるか を返します。 必須である場合、その業務ロジックは、子ロジックとして呼び出すことができません。 これは、子ロジック呼び出し時は、テーブルモデルがセットされないためです。 (このクラスは、テーブルモデルが外部から指定されている必要はありません。) このメソッド自体は、protected属性であるため、サブクラスから直接参照することができます。 但し、これは、各業務ロジックで直接参照することを想定したものではなく、BizLogicの メイン構造を拡張するサブクラスを定義する際に使用することを想定しています。 (この想定がなければ、本来は、package privateにすべきです) このため、業務ロジックを各実装クラスでは直接参照しないで下さい。
      戻り値:
        テーブルモデルが外部からセットされる必要があるかどうか(常にfalse)

    - #### isDebug

          protected final boolean isDebug()

      デバッグモードかどうかを返します。
      戻り値:
        デバッグモードかどうか

    - #### debug

          protected final void debug(java.lang.String msg)

      デバッグメッセージを追加します。
      パラメータ:
        `msg` - 追加するデバッグメッセージ

    - #### var

          protected final java.lang.String var(java.lang.String key)

      指定されたキーの値を返します。
      パラメータ:
        `key` - キー
      戻り値:
        変数値

    - #### vari

          protected final int vari(java.lang.String key)

      指定されたキーの値をint型に変換して返します。
      パラメータ:
        `key` - キー
      戻り値:
        変数値
      変更履歴:

        6.7.9.0 (2017/04/28) nullと isEmpty() も、0 を返します。

    - #### vard

          protected final double vard(java.lang.String key)

      指定されたキーの値をdouble型に変換して返します。
      パラメータ:
        `key` - キー
      戻り値:
        変数値
      変更履歴:

        6.7.9.0 (2017/04/28) nullと isEmpty() も、0 を返します。

    - #### varKeys

          protected final java.lang.String[] varKeys()

      パラメーターのキー一覧を配列形式で返します。 このパラメーターは、業務ロジック内でセットされたパラメーターも含まれますのでご注意下さい。
      戻り値:
        パラメーターのキー配列

    - #### set

          protected final void set(java.lang.String key,
                                   java.lang.String val)

      指定されたキーで値を登録します。 パラメーターとしてこの業務ロジックが呼ばれる際の引数となっている場合は、 エラーとなります。
      パラメータ:
        `key` - キー
        `val` - 値
      変更履歴:

        5.2.1.0 (2010/10/01) チェックのバグを修正
        5.6.7.0 (2013/07/27) Exception を throw するとき、一旦、errMsg 変数にセットします。

    - #### set

          protected final void set(java.lang.String key,
                                   int val)

      指定されたキーで値を登録します。 パラメーターとしてこの業務ロジックが呼ばれる際の引数となっている場合は、 エラーとなります。
      パラメータ:
        `key` - キー
        `val` - 値
      変更履歴:

        5.1.9.0 (2010/08/01) 新規作成

    - #### set

          protected final void set(java.lang.String key,
                                   double val)

      指定されたキーで値(double型)を登録します。 パラメーターとしてこの業務ロジックが呼ばれる際の引数となっている場合は、 エラーとなります。
      パラメータ:
        `key` - キー
        `val` - 値
      変更履歴:

        5.1.9.0 (2010/08/01) 新規作成

    - #### line

          protected final java.lang.String line(java.lang.String key)

      処理中の行の指定されたキー(カラム名)の値を返します。
      パラメータ:
        `key` - キー
      戻り値:
        値

    - #### line

          protected final java.lang.String line(java.lang.String key,
                                                int rw)

      メインの配列型テーブルモデルに対して、行を指定して値を取得します。 指定された行が範囲を超えている場合は、nullを返します。
      パラメータ:
        `key` - キー
        `rw` - 行番号(インデックス)
      戻り値:
        値
      変更履歴:

        5.1.8.0 (2010/07/01) テーブルに存在しないカラム名を指定した場合に、NullPointerExceptionが発生するバグを修正
        5.6.7.0 (2013/07/27) Exception を throw するとき、一旦、errMsg 変数にセットします。

    - #### line

          protected final java.lang.String line(int col)

      処理中の行の指定されたカラム番号の値を返します。 line( String )は、毎回、カラム番号を取得しているため、非効率です。 ただし、一旦カラム名から、カラム番号を取得し、それを使用するのと、 linei(String)や、lined(String) などの直接的なメソッドもないため、 利用者側でそのあたりの処理を入れる必要があります。
      パラメータ:
        `col` - カラム番号
      戻り値:
        値
      変更履歴:

        6.7.9.1 (2017/05/19) 文字列を整数に変換します。

    - #### line

          protected final java.lang.String line(int col,
                                                int rw)

      メインの配列型テーブルモデルに対して、行を指定して値を取得します。 指定された行が範囲を超えている場合は、nullを返します。
      パラメータ:
        `col` - カラム番号
        `rw` - 行番号(インデックス)
      戻り値:
        値
      変更履歴:

        6.7.9.1 (2017/05/19) 文字列を整数に変換します。

    - #### linei

          protected final int linei(java.lang.String key)

      処理中の行の指定されたキー(カラム名)の値をint型に変換して返します。
      パラメータ:
        `key` - キー
      戻り値:
        値
      変更履歴:

        6.7.9.0 (2017/04/28) row を使用して、#linei( String,int )を呼びます。

    - #### linei

          protected final int linei(java.lang.String key,
                                    int rw)

      メインの配列型テーブルモデルに対して、行を指定して値をint型に変換して返します。 指定された行が範囲を超えている場合は、nullを返します。
      パラメータ:
        `key` - キー
        `rw` - 行番号(インデックス)
      戻り値:
        値
      変更履歴:

        6.7.9.0 (2017/04/28) nullと isEmpty() も、0 を返します。

    - #### lined

          protected final double lined(java.lang.String key)

      処理中の行の指定されたキー(カラム名)の値をdouble型に変換して返します。
      パラメータ:
        `key` - キー
      戻り値:
        値
      変更履歴:

        6.7.9.0 (2017/04/28) row を使用して、#lined( String,int )を呼びます。

    - #### lined

          protected final double lined(java.lang.String key,
                                       int rw)

      メインの配列型テーブルモデルに対して、行を指定して値をdouble型に変換して返します。 指定された行が範囲を超えている場合は、nullを返します。
      パラメータ:
        `key` - キー
        `rw` - 行番号(インデックス)
      戻り値:
        値
      変更履歴:

        6.7.9.0 (2017/04/28) nullと isEmpty() も、0 を返します。

    - #### str2int

          protected final int str2int(java.lang.String val)

      文字列を整数に変換します。 文字列が、nullか、空文字列の場合は、0 を返します。
      パラメータ:
        `val` - 入力文字列
      戻り値:
        int値
      変更履歴:

        6.7.9.1 (2017/05/19) 文字列を整数に変換します。

    - #### str2dbl

          protected final double str2dbl(java.lang.String val)

      文字列をdoubleに変換します。 文字列が、nullか、空文字列の場合は、0d を返します。
      パラメータ:
        `val` - 入力文字列
      戻り値:
        double値
      変更履歴:

        6.7.9.1 (2017/05/19) 文字列をdoubleに変換します。

    - #### lineKeys

          protected final java.lang.String[] lineKeys()

      テーブルのカラム名の一覧を配列形式で返します。
      戻り値:
        テーブルのカラム名配列
      変更履歴:

        5.6.7.0 (2013/07/27) Exception を throw するとき、一旦、errMsg 変数にセットします。

    - #### isLine

          protected final boolean isLine(java.lang.String clm)

      テーブルにカラムが存在しているかを返します。
      パラメータ:
        `clm` - カラム名
      戻り値:
        存在している場合true、存在していない場合false
      変更履歴:

        5.2.0.0 (2010/09/01)
        5.6.7.0 (2013/07/27) Exception を throw するとき、一旦、errMsg 変数にセットします。

    - #### rtn

          protected final void rtn(java.lang.String rtn)

      業務ロジックの戻り値をセットします。
      パラメータ:
        `rtn` - 戻り値

    - #### call

          protected final boolean call(java.lang.String subLogicName,
                                       java.lang.String key,
                                       java.lang.String val)

      子ロジックを実行します。 実行する子ロジックの呼び出しは、親クラスと同じソースパス、クラスパスで呼び出しされます。 子ロジックに渡す引数には、{@XXXX}形式及び[XXXX]形式の変数を使用することができます。 また、子ロジックの戻り値は、val("SUB_RETURN")で取得することができます。
      パラメータ:
        `subLogicName` - 子ロジック名
        `key` - キー(CSV形式)
        `val` - 値(CSV形式)
      戻り値:
        処理が正常終了したか

    - #### call

          protected final boolean call(java.lang.String subLogicName,
                                       java.lang.String key,
                                       java.lang.String val,
                                       int rw,
                                       DataModel tbl)

      子ロジックを実行します。 実行する子ロジックの呼び出しは、親クラスと同じソースパス、クラスパスで呼び出しされます。 子ロジックに渡す引数には、{@XXXX}形式及び[XXXX]形式の変数を使用することができます。 この場合の値は、引数で指定された、配列型テーブルモデルの行に対応する値になります。 また、子ロジックの戻り値は、val("RETURN")で取得することができます。
      パラメータ:
        `subLogicName` - 子ロジック名
        `key` - キー(CSV形式)
        `val` - 値(CSV形式)
        `rw` - 行番号(インデックス)
        `tbl` - 配列型テーブルモデル
      戻り値:
        処理が正常終了したか
      変更履歴:

        5.1.9.0 (2010/08/01) シーケンス対応
        5.4.1.0 (2011/11/01) 値にカンマが含まれている場合に正しく動作しないバグを修正
        5.6.7.0 (2013/07/27) Exception を throw するとき、一旦、errMsg 変数にセットします。
        6.3.9.0 (2015/11/06) コンストラクタで初期化されていないフィールドを null チェックなしで利用している(findbugs)
        6.7.9.1 (2017/05/19) ArrayTableModel をDataModel に変更。

    - #### sql

          protected final void sql(java.lang.String sq)

      SQLを実行します。 SQL文には、{@XXXX}形式及び[XXXX]形式の変数を使用することができます。 select文を発行した場合、その結果セットは、var(カラム名)で取得することができます。 2行以上が返された場合でも、1行目のみが登録されます。 また、検索件数、更新件数については、var("SQL_ROWCOUNT")で取得することができます。
      パラメータ:
        `sq` - SQL文字列

    - #### sql

          protected final void sql(java.lang.String sq,
                                   int rw,
                                   DataModel tbl)

      SQLを実行します。 SQL文には、{@XXXX}形式及び[XXXX]形式の変数を使用することができます。 [XXXX]形式の変数の置き換えには、引数で指定された配列型テーブルモデルの行が使用されます。 select文を発行した場合、その結果セットは、var(カラム名)で取得することができます。 2行以上が返された場合でも、1行目のみが登録されます。 また、検索件数、更新件数については、var("SQL_ROWCOUNT")で取得することができます。
      パラメータ:
        `sq` - SQL文字列
        `rw` - 行番号(インデックス)
        `tbl` - 配列型テーブルモデル
      変更履歴:

        6.7.9.1 (2017/05/19) ArrayTableModel をDataModel に変更。

    - #### seq

          protected final int seq(java.lang.String seqName)

      シーケンス名よりシーケンスオブジェクトを検索し、次の値を取り出します。 DBに対するシーケンスオブジェクトは予め作成されている必要があります。 また、MySQLの場合は、シーケンスオブジェクトが実装されていないため、 内部的には、引数のシーケンス名と同じ名前のテーブルから、Integer型の "SEQID"という項目名を検索することにより、シーケンスをエミュレートしています。
      パラメータ:
        `seqName` - シーケンス名
      戻り値:
        シーケンス番号
      関連項目:
        `DBFunctionName.getSequence(String,Transaction)`
      変更履歴:

        5.1.9.0 (2010/08/01) 新規追加
        6.3.9.0 (2015/11/06) コンストラクタで初期化されていないフィールドを null チェックなしで利用している(findbugs)

    - #### error

          protected final void error(int kekka,
                                     java.lang.String id,
                                     java.lang.String[] args)

      エラーメッセージを追加します。 エラーメッセージの引数には、{@XXXX}形式及び[XXXX]形式の変数を使用することができます。
      パラメータ:
        `kekka` - エラーレベル
        `id` - エラーメッセージID
        `args` - エラーメッセージパラメーター

    - #### error

          protected final void error(int rw,
                                     int kekka,
                                     java.lang.String id,
                                     java.lang.String[] args)

      行指定でエラーメッセージを追加します。 エラーメッセージの引数には、{@XXXX}形式及び[XXXX]形式の変数を使用することができます。
      パラメータ:
        `rw` - 行番号(インデックス)
        `kekka` - エラーレベル
        `id` - エラーメッセージID
        `args` - エラーメッセージパラメーター

    - #### must

          protected final boolean must(java.lang.String cs)

      パラメーターの必須チェックを行います。 キーは、CSV形式で複数指定することができます。
      パラメータ:
        `cs` - カラム(CSV形式)
      戻り値:
        エラーが発生した場合はfalse、それ以外はtrue

    - #### exist

          protected final boolean exist(java.lang.String type,
                                        java.lang.String tblId,
                                        java.lang.String ns,
                                        java.lang.String vs)

      マスタチェックを行います。
      パラメータ:
        `type` - エラーチェックのタイプ
        `tblId` - テーブル名
        `ns` - カラム(CSV形式)
        `vs` - 値(CSV形式)
      戻り値:
        エラーが発生した場合はfalse、それ以外はtrue
      関連項目:
        `exist(String, String, String, String, String, String)`
      変更履歴:

        5.6.3.1 (2013/04/05) isErrThrow 引数を追加

    - #### exist

          protected final boolean exist(java.lang.String type,
                                        java.lang.String tblId,
                                        java.lang.String ns,
                                        java.lang.String vs,
                                        java.lang.String conNs,
                                        java.lang.String conVs)

      マスタチェックを行います。 引数に指定されたテーブル名、及び条件句を生成するためのカラム、値から 件数を取得し、typeに応じて件数チェックを行います。 (カラム、値には、CSV形式で複数指定することができます) type=true 存在する場合true 存在しない場合false type=false 存在する場合false 存在しない場合true type=one 1件以内 true 2件以上 false 必須チェックの引数には、{@XXXX}形式及び[XXXX]形式の変数を使用することができます。 また、固定値カラム、値にも条件となるカラム及び値を指定することができますが、 ここで指定されたカラムは、エラーメッセージ表示時にカラム、値が画面に表示されません。
      パラメータ:
        `type` - エラーチェックのタイプ
        `tblId` - テーブル名
        `ns` - カラム(CSV形式)
        `vs` - 値(CSV形式)
        `conNs` - 固定値カラム(CSV形式)
        `conVs` - 固定値(CSV形式)
      戻り値:
        エラーが発生した場合はfalse、それ以外はtrue
      変更履歴:

        5.6.3.1 (2013/04/05) isErrThrow 引数を追加

    - #### exist

          protected final boolean exist(java.lang.String type,
                                        java.lang.String tblId,
                                        java.lang.String ns,
                                        java.lang.String vs,
                                        java.lang.String conNs,
                                        java.lang.String conVs,
                                        boolean isErrThrow)

      マスタチェックを行います。 引数に指定されたテーブル名、及び条件句を生成するためのカラム、値から 件数を取得し、typeに応じて件数チェックを行います。 (カラム、値には、CSV形式で複数指定することができます) type=true 存在する場合true 存在しない場合false type=false 存在する場合false 存在しない場合true type=one 1件以内 true 2件以上 false 必須チェックの引数には、{@XXXX}形式及び[XXXX]形式の変数を使用することができます。 また、固定値カラム、値にも条件となるカラム及び値を指定することができますが、 ここで指定されたカラムは、エラーメッセージ表示時にカラム、値が画面に表示されません。 isErrThrow は、エラーが発生した場合に、エラーメッセージ（ErrorMessage）に書き込むかどうかを指定します。 基本は、互換性を考慮し、true(書き込む)です。 false にするケースは、存在ﾁｪｯｸを行い、あれば更新、なければ追加 など後続処理を行いたい場合に使います。
      パラメータ:
        `type` - エラーチェックのタイプ
        `tblId` - テーブル名
        `ns` - カラム(CSV形式)
        `vs` - 値(CSV形式)
        `conNs` - 固定値カラム(CSV形式)
        `conVs` - 固定値(CSV形式)
        `isErrThrow` - 判定結果がfalseの場合に、error関数を呼ぶ場合は、true。呼ばない場合は、falseをセットします。
      戻り値:
        エラーが発生した場合はfalse、それ以外はtrue
      変更履歴:

        5.6.3.1 (2013/04/05) isErrThrow 引数を追加
        5.6.7.0 (2013/07/27) Exception を throw するとき、一旦、errMsg 変数にセットします。
        6.7.9.1 (2017/05/19) ArrayTableModel をDataModel に変更。

    - #### createTableBySql

          protected final DataModel createTableBySql(java.lang.String sq)

      検索SQLを実行し、結果を配列型テーブルモデルとして返します。 SQL文には、{@XXXX}形式及び[XXXX]形式の変数を使用することができます。 また、検索件数については、var("SQL_ROWCOUNT")で取得することができます。
      パラメータ:
        `sq` - SQL文
      戻り値:
        配列型テーブルモデル
      変更履歴:

        6.7.9.1 (2017/05/19) ArrayTableModel をDataModel に変更。

    - #### createTableBySql

          protected final DataModel createTableBySql(java.lang.String sq,
                                                     int rw,
                                                     DataModel tbl)

      検索SQLを実行し、結果を配列型テーブルモデルとして返します。 SQL文には、{@XXXX}形式及び[XXXX]形式の変数を使用することができます。 [XXXX]形式の変数の置き換えには、引数で指定された配列型テーブルモデルの行が使用されます。 また、検索件数については、var("SQL_ROWCOUNT")で取得することができます。
      パラメータ:
        `sq` - SQL文
        `rw` - 行番号(インデックス)
        `tbl` - 配列型テーブルモデル
      戻り値:
        配列型テーブルモデル
      変更履歴:

        6.7.9.1 (2017/05/19) ArrayTableModel をDataModel に変更。

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.