パッケージ org.opengion.hayabusa.db

## クラス AbstractTableFilter

- java.lang.Object
- - org.opengion.hayabusa.db.AbstractTableFilter

- すべての実装されたインタフェース:
    `TableFilter`
  直系の既知のサブクラス:
    `TableFilter_BIKO2CODE`, `TableFilter_BIKOSET`, `TableFilter_CLMSET`, `TableFilter_CMNT_CLM`, `TableFilter_CMNT_TBL`, `TableFilter_DBARG`, `TableFilter_DBARG_OUT`, `TableFilter_DBSELECT`, `TableFilter_DBSRC_OUT`, `TableFilter_DTYPE`, `TableFilter_INDEX`, `TableFilter_KBCLM`, `TableFilter_KEY_BREAK`, `TableFilter_LABEL`, `TableFilter_MATCHES`, `TableFilter_REPORTDATA`, `TableFilter_REPORTLAYOUT`, `TableFilter_ROTATE`, `TableFilter_SEQRESET`, `TableFilter_SEQUENCE`, `TableFilter_SKIPROW`, `TableFilter_STDDEV`, `TableFilter_STDDEV2`, `TableFilter_TABLE`, `TableFilter_THUMBNAIL`, `TableFilter_UNIQ_NAME`, `TableFilter_UPPER`

      public abstract class AbstractTableFilter
      extends Object
      implements TableFilter

  AbstractTableFilter は、TableUpda インターフェースを継承した、DBTableModel 処理用の Abstract実装クラスです。
  変更履歴:
    5.5.2.6 (2012/05/25) protected変数をprivateに変更。インターフェースにメソッド追加, 6.4.1.1 (2016/01/16) keysMap を、サブクラスから設定させるように変更。
  バージョン
    0.9.0 2000/10/17
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK1.1,

- - ### フィールドの概要

    フィールド
    修飾子とタイプ | フィールド | 説明
    --- | --- | ---
    `protected static int` | `BUFFER_MIDDLE` | StringBilderなどの初期値を設定します。
    `protected static String` | `CR` | システムの改行コードを設定します。
    `protected static String` | `EXEC_END_TAG` | 各種定数 "</EXEC_SQL>"
    `protected static String` | `EXEC_START_TAG` | 各種定数 "<EXEC_SQL>"
    `protected String` | `execEndTag` | 終了タグ
    `protected boolean` | `isXml` | XML形式かどうか
    `protected static String` | `XML_END_TAG` | 各種定数 "</ROWSET>"
    `protected static String` | `XML_START_TAG` | 各種定数

  - ### コンストラクタの概要

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

  - ### メソッドの概要

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッド | 説明
    --- | --- | ---
    `String` | `getDbid()` | DBIDを取得します。
    `DBTableModel` | `getDBTableModel()` | DBTableModel を取得します。
    `int` | `getErrorCode()` | エラーコード を取得します。
    `ErrorMessage` | `getErrorMessage()` | エラーメッセージオブジェクト を取得します。
    `protected String[]` | `getKeys()` | keyValMapに持っているキーの配列を取得します。
    `String` | `getModifyType()` | データ処理の方法(A:追加 C:更新 D:削除)を取得します。
    `int[]` | `getParameterRows()` | 選択された行番号の配列を取得します。
    `ResourceManager` | `getResource()` | リソースオブジェクトを取得します。
    `String` | `getSql()` | ボディー部分のSQLを取得します。
    `protected int[]` | `getTableColumnNo​(String... nameArray)` | カラム名配列(String[])より、対応するカラムNo配列(int[])を作成します。
    `Transaction` | `getTransaction()` | アクセスログ取得の為,Transactionオブジェクトを取得します。
    `protected String` | `getValue​(String key)` | 設定されたパラメータキーに対する値を取得します。
    `protected void` | `initSet​(String key, String cmnt)` | keys の整合性チェックを行うための初期設定を行います。
    `boolean` | `isDebug()` | デバッグ情報を出力するかどうか[true:する/false:しない]を取得します。
    `protected ErrorMessage` | `makeErrorMessage​(String title, int code)` | タイトルとエラーコードを指定して、エラーメッセージオブジェクト を作成します。
    `void` | `setDbid​(String dbid)` | DBIDを指定します。
    `void` | `setDBTableModel​(DBTableModel table)` | DBTableModel をセットします。
    `void` | `setDebug​(boolean flag)` | デバッグ情報を出力するかどうか[true:する/false:しない]を指定します。
    `void` | `setKeysVals​(String[] keys, String[] vals)` | キーと値のペアの変数配列を受け取ります。
    `void` | `setModifyType​(String type)` | データ処理の方法(A:追加 C:更新 D:削除)を指定します。
    `void` | `setParameterRows​(int... rowNoTmp)` | 選択された行番号の配列をセットします。
    `void` | `setParamMap​(ConcurrentMap<String,​String> paramMap)` | パラメーターMapを指定します。
    `void` | `setResource​(ResourceManager resource)` | リソースオブジェクトを指定します。
    `void` | `setSql​(String sql)` | ボディー部分のSQLを指定します。
    `void` | `setTransaction​(Transaction tran)` | アクセスログ取得の為,Transactionオブジェクトを設定します。

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

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

    - ### インタフェースから継承されたメソッド org.opengion.hayabusa.db.TableFilter

      `execute`

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

    - #### CR

          protected static final String CR

      システムの改行コードを設定します。

    - #### BUFFER_MIDDLE

          protected static final int BUFFER_MIDDLE

      StringBilderなどの初期値を設定します。 200
      関連項目:
        定数フィールド値

    - #### XML_START_TAG

          protected static final String XML_START_TAG

      各種定数

    - #### XML_END_TAG

          protected static final String XML_END_TAG

      各種定数 "</ROWSET>"
      関連項目:
        定数フィールド値

    - #### EXEC_START_TAG

          protected static final String EXEC_START_TAG

      各種定数 "<EXEC_SQL>"
      関連項目:
        定数フィールド値

    - #### EXEC_END_TAG

          protected static final String EXEC_END_TAG

      各種定数 "</EXEC_SQL>"
      関連項目:
        定数フィールド値

    - #### isXml

          protected boolean isXml

      XML形式かどうか

    - #### execEndTag

          protected String execEndTag

      終了タグ

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

    - #### AbstractTableFilter

          protected AbstractTableFilter()

      デフォルトコンストラクター
      変更履歴:
        6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.

  - ### メソッドの詳細

    - #### initSet

          protected void initSet​(String key,
                                 String cmnt)

      keys の整合性チェックを行うための初期設定を行います。 サブクラスのコンストラクタ内で、設定するようにしてください。
      パラメータ:
        `key` - 整合性チェックを行うための keysMap に設定するキー
        `cmnt` - 整合性チェックを行うための キー の説明
      変更履歴:
        6.4.1.1 (2016/01/16) keys の整合性チェック対応, 6.4.3.1 (2016/02/12) ConcurrentMap 系は、key,val ともに not null 制限です。

    - #### setDBTableModel

          public void setDBTableModel​(DBTableModel table)

      DBTableModel をセットします。
      定義:
        `setDBTableModel` インタフェース内 `TableFilter`
      パラメータ:
        `table` - DBTableModelオブジェクト

    - #### getDBTableModel

          public DBTableModel getDBTableModel()

      DBTableModel を取得します。
      定義:
        `getDBTableModel` インタフェース内 `TableFilter`
      戻り値:
        内部のDBTableModel
      変更履歴:
        5.5.2.6 (2012/05/25) インターフェースにgetterメソッド追加

    - #### setModifyType

          public void setModifyType​(String type)

      データ処理の方法(A:追加 C:更新 D:削除)を指定します。 通常は、DBTableModel に自動設定されている modifyType を元に、データ処理方法を 選別します。(A:追加 C:更新 D:削除) この場合、行単位で modifyType の値を取得して判別する必要がありますが、一般には 処理対象は、全件おなじ modifyType である可能性が高いです。 また、selectedAll などで強制的に全件処理対象とする場合は、modifyType に値が 設定さていません。その様な場合に外部より modifyType を指定します。 初期値は、自動判定 です。
      定義:
        `setModifyType` インタフェース内 `TableFilter`
      パラメータ:
        `type` - データ処理の方法(A:追加 C:更新 D:削除)
      変更履歴:
        5.5.2.6 (2012/05/25) 廃止

    - #### getModifyType

          public String getModifyType()

      データ処理の方法(A:追加 C:更新 D:削除)を取得します。 初期値は、自動判定 です。
      定義:
        `getModifyType` インタフェース内 `TableFilter`
      戻り値:
        データ処理の方法(A:追加 C:更新 D:削除)
      変更履歴:
        5.5.2.6 (2012/05/25) インターフェースにgetterメソッド追加

    - #### setKeysVals

          public void setKeysVals​(String[] keys,
                                  String[] vals)

      キーと値のペアの変数配列を受け取ります。 ここでは、この方式以外に、パラメーターMapを受け取る方法もあります。 この受け取る時に、キーを大文字化します。TableFilter の keys は、 大文字のみで定義しておくことで、HTMLやWindows世代の曖昧な表記方法に 対応しています。(unixやxmlのような厳格な方が好きですけど) keys,vals とパラメーターMapを同時に指定した場合は、両方とも有効です。 ただし、キーが重複した場合は、不定と考えてください。
      定義:
        `setKeysVals` インタフェース内 `TableFilter`
      パラメータ:
        `keys` - キー配列
        `vals` - 値配列
      関連項目:
        `setParamMap( ConcurrentMap )`
      変更履歴:
        5.6.6.0 (2013/07/05) keys の整合性チェックを行います。

    - #### setParameterRows

          public void setParameterRows​(int... rowNoTmp)

      選択された行番号の配列をセットします。 表示データの HybsSystem.ROW_SELECTED_KEY を元に、選ばれた 行を 処理の対象とします。
      定義:
        `setParameterRows` インタフェース内 `TableFilter`
      パラメータ:
        `rowNoTmp` - 行番号配列(可変長引数)

    - #### getParameterRows

          public int[] getParameterRows()

      選択された行番号の配列を取得します。 表示データの HybsSystem.ROW_SEL_KEY を元に、選ばれた 行を 処理の対象とします。
      定義:
        `getParameterRows` インタフェース内 `TableFilter`
      戻り値:
        行番号の配列(選ばれていない場合は、サイズ０の配列を返す)
      変更履歴:
        5.5.2.6 (2012/05/25) インターフェースにgetterメソッド追加, 6.0.2.5 (2014/10/31) null ではなく、サイズ０の配列を返すように変更。
      このメソッドは、nullを返しません

    - #### setTransaction

          public void setTransaction​(Transaction tran)

      アクセスログ取得の為,Transactionオブジェクトを設定します。
      定義:
        `setTransaction` インタフェース内 `TableFilter`
      パラメータ:
        `tran` - Transactionオブジェクト
      変更履歴:
        5.1.9.0 (2010/08/01) Transaction 対応(新規追加)

    - #### getTransaction

          public Transaction getTransaction()

      アクセスログ取得の為,Transactionオブジェクトを取得します。
      定義:
        `getTransaction` インタフェース内 `TableFilter`
      戻り値:
        Transactionオブジェクト
      変更履歴:
        5.1.9.0 (2010/08/01) Transaction 対応(新規追加), 5.5.2.6 (2012/05/25) インターフェースにgetterメソッド追加

    - #### setDbid

          public void setDbid​(String dbid)

      DBIDを指定します。
      定義:
        `setDbid` インタフェース内 `TableFilter`
      パラメータ:
        `dbid` - 接続先ID
      変更履歴:
        4.2.4.0 (2008/06/23) 新規追加

    - #### getDbid

          public String getDbid()

      DBIDを取得します。
      定義:
        `getDbid` インタフェース内 `TableFilter`
      戻り値:
        DBID(接続先情報)
      変更履歴:
        4.2.4.0 (2008/06/23) 新規追加, 5.5.2.6 (2012/05/25) インターフェースにgetterメソッド追加

    - #### setSql

          public void setSql​(String sql)

      ボディー部分のSQLを指定します。
      定義:
        `setSql` インタフェース内 `TableFilter`
      パラメータ:
        `sql` - ボディー部分のSQL
      変更履歴:
        4.2.4.0 (2008/06/23) 新規追加

    - #### getSql

          public String getSql()

      ボディー部分のSQLを取得します。
      定義:
        `getSql` インタフェース内 `TableFilter`
      戻り値:
        ボディー部分のSQL
      変更履歴:
        4.2.4.0 (2008/06/23) 新規追加, 5.5.2.6 (2012/05/25) インターフェースにgetterメソッド追加

    - #### setParamMap

          public void setParamMap​(ConcurrentMap<String,​String> paramMap)

      パラメーターMapを指定します。 keys,vals と パラメーターMapを同時に指定した場合は、両方とも有効です。 ただし、キーが重複した場合は、不定と考えてください。 この受け取る時に、キーを大文字化します。TableFilter の keys は、 大文字のみで定義しておくことで、HTMLやWindows世代の曖昧な表記方法に 対応しています。(unixやxmlのような厳格な方が好きですけど)
      定義:
        `setParamMap` インタフェース内 `TableFilter`
      パラメータ:
        `paramMap` - パラメーターMap
      関連項目:
        `setKeysVals( String[] ,String[] )`
      変更履歴:
        5.6.5.2 (2013/06/21) 新規追加, 5.6.6.0 (2013/07/05) keys の整合性チェックを行います。, 6.4.3.3 (2016/03/04) ConcurrentHashMap を受け取ることを明確にするため、I/FをConcurrentMapに変更します。

    - #### setResource

          public void setResource​(ResourceManager resource)

      リソースオブジェクトを指定します。
      定義:
        `setResource` インタフェース内 `TableFilter`
      パラメータ:
        `resource` - リソースオブジェクト
      変更履歴:
        4.3.7.4 (2009/07/01) 新規追加

    - #### getResource

          public ResourceManager getResource()

      リソースオブジェクトを取得します。
      定義:
        `getResource` インタフェース内 `TableFilter`
      戻り値:
        リソースオブジェクト
      変更履歴:
        4.3.7.4 (2009/07/01) 新規追加, 5.5.2.6 (2012/05/25) インターフェースにgetterメソッド追加

    - #### setDebug

          public void setDebug​(boolean flag)

      デバッグ情報を出力するかどうか[true:する/false:しない]を指定します。 true でデバッグ情報を表示します。
      定義:
        `setDebug` インタフェース内 `TableFilter`
      パラメータ:
        `flag` - デバッグ出力するか [true:する/false:しない]

    - #### isDebug

          public boolean isDebug()

      デバッグ情報を出力するかどうか[true:する/false:しない]を取得します。 true でデバッグ情報を表示します。
      定義:
        `isDebug` インタフェース内 `TableFilter`
      戻り値:
        デバッグ出力 [true:する/false:しない]
      変更履歴:
        5.5.2.6 (2012/05/25) インターフェースにgetterメソッド追加

    - #### getErrorCode

          public int getErrorCode()

      エラーコード を取得します。 エラーコード は、ErrorMessage クラスで規定されているコードです。
      定義:
        `getErrorCode` インタフェース内 `TableFilter`
      戻り値:
        エラーコード

    - #### getErrorMessage

          public ErrorMessage getErrorMessage()

      エラーメッセージオブジェクト を取得します。
      定義:
        `getErrorMessage` インタフェース内 `TableFilter`
      戻り値:
        エラーメッセージオブジェクト

    - #### makeErrorMessage

          protected ErrorMessage makeErrorMessage​(String title,
                                                  int code)

      タイトルとエラーコードを指定して、エラーメッセージオブジェクト を作成します。 すでに、作成済みの場合は、作成済みのオブジェクトを、まだ、未作成の場合は、 新規に作成します。
      パラメータ:
        `title` - タイトル
        `code` - エラーコード
      戻り値:
        エラーメッセージオブジェクト

    - #### getTableColumnNo

          protected int[] getTableColumnNo​(String... nameArray)

      カラム名配列(String[])より、対応するカラムNo配列(int[])を作成します。
      パラメータ:
        `nameArray` - カラム名配列
      戻り値:
        カラムNo配列(可変長引数)

    - #### getValue

          protected String getValue​(String key)

      設定されたパラメータキーに対する値を取得します。 引数、および、パラメータが null の場合は、 null を返します。
      パラメータ:
        `key` - パラメータキー
      戻り値:
        パラメータ値
      変更履歴:
        6.4.3.3 (2016/03/04) ConcurrentHashMap の not null制限のチェック追加

    - #### getKeys

          protected String[] getKeys()

      keyValMapに持っているキーの配列を取得します。 これは、サブクラスで、initSet(String,String) を行わない場合、keys には 値を自由に設定できます。 その値を取り出すためです。
      戻り値:
        キー値の配列(keyValMapに持っているキー)
      変更履歴:
        6.7.9.1 (2017/05/19) 新規追加