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

## インタフェース DBTableModel

- すべてのスーパーインタフェース:
    `DataModel<String>`
  既知の実装クラスのリスト:
    `DBTableModelEditor`, `DBTableModelImpl`, `DBTableModelSorter`

      public interface DBTableModel
      extends DataModel<String>

  javax.swing.table.TableModel インターフェースを継承したデータベース情報を TableModel情報にマッピングするのに利用します。 DataModel<String> インターフェースを継承しています。
  機能分類
    テーブル管理
  バージョン
    4.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK5.0,

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

    フィールド
    修飾子とタイプ | フィールド | 説明
    --- | --- | ---
    `static boolean` | `DEFAULT_CHECKED` | 行指定用のチェックボックスに対して初期値を 選択済みにするか、 非選択済みにするかのデフォルト値を指定します。
    `static boolean` | `DEFAULT_WRITABLE` | 行指定の書込み許可を与えます。

    - ### インタフェースから継承されたフィールド org.opengion.fukurou.model.DataModel

      `DELETE_TYPE, INSERT_TYPE, UPDATE_TYPE`

  - ### メソッドの概要

    すべてのメソッド インスタンス・メソッド abstractメソッド
    修飾子とタイプ | メソッド | 説明
    --- | --- | ---
    `void` | `addColumnValues​(String[] values)` | row あるセルの属性値配列を追加登録します。
    `void` | `addColumnValues​(String[] values, String modType, boolean rw)` | row あるセルの属性値配列を追加登録します。
    `void` | `addMustType​(int dbColumn, String type)` | カラム(列)にmustタイプ値を割り当てます。
    `void` | `addValues​(String[] values, int aRow)` | row の下に属性値配列を追加登録します。
    `void` | `addValues​(String[] values, int aRow, boolean isWritable)` | row の下に属性値配列を追加登録します。
    `int` | `getColumnCount()` | データテーブル内の列の数を返します。
    `String` | `getColumnLabel​(int column)` | カラムのラベル名を返します。
    `String` | `getColumnName​(int column)` | カラム名を取得します。
    `int` | `getColumnNo​(String columnName, boolean useThrow)` | カラム名をもとに、そのカラム番号を返します。
    `String` | `getConsistencyKey()` | 検索されたDBTableModelが登録時に同一かどうかを判断する為の 整合性キーを取得します。
    `DBColumn` | `getDBColumn​(int clm)` | カラム(列)のカラムオブジェクトを返します。
    `DBColumn[]` | `getDBColumns()` | カラムオブジェクト配列を返します。
    `String[]` | `getMustAnyArray()` | mustType="mustAny" 他のカラム名を、CSV形式として返します。
    `String[]` | `getMustArray()` | mustType="must"時のカラム名を、CSV形式として返します。
    `String` | `getValue​(int aRow, String columnName)` | row および columnName にあるセルの属性値をStringに変換して返します。
    `void` | `init​(int columnCount)` | このオブジェクトを初期化します。
    `boolean` | `isOverflow()` | 検索結果が オーバーフローしたかどうかをチェックします。
    `boolean` | `isRowChecked​(int row)` | 書き込み可能な行(rowWritable == true)のチェックボックスに対して 初期値を 選択済みか、非選択済みかを返します。
    `boolean` | `isRowWritable​(int aRow)` | 書込み許可を返します。
    `DBTableModel` | `newModel()` | このオブジェクトをヘッダー部分をコピーし、データを初期化します。
    `void` | `removeValue​(int aRow)` | 行を物理削除します。
    `void` | `resetModify()` | 変更済みフラグを元に戻します。
    `void` | `resetModify​(int aRow)` | 変更済みフラグを元に戻します。
    `void` | `resetRow​(int row)` | 変更データを初期値(元の取り込んだ状態)に戻します。
    `void` | `rowDelete​(int aRow)` | 行を削除します。
    `void` | `rowDelete​(String[] values, int aRow)` | row にあるセルのオブジェクト値を置き換えて、行を削除します。
    `void` | `setDBColumn​(int dbColumn, DBColumn clm)` | カラム(列)にカラムオブジェクトを割り当てます。
    `void` | `setDefaultRowChecked​(boolean rw)` | 書き込み可能な行(rowWritable == true)のチェックボックスに対して 初期値を 選択済みにするか、非選択済みにするかを指定します。
    `void` | `setDefaultRowWritable​(boolean rw)` | 行指定の書込み許可を与えます。
    `void` | `setOverflow​(boolean of)` | 検索結果が オーバーフローしたかどうかを設定します。
    `void` | `setRowChecked​(int aRow, boolean rw)` | 書き込み可能な行(rowWritable == true)のチェックボックスに対して 初期値を 選択済みにするか、非選択済みにするかを指定します。
    `void` | `setRowWritable​(int aRow, boolean rw)` | 行が書き込み可能かどうかをセットします。
    `void` | `setValue​(int aRow, String columnName, String value)` | column に対応した 値を登録します。
    `void` | `setValueAt​(String value, int aRow, int aColumn)` | column および row にあるセルのオブジェクト値を設定します。

    - ### インタフェースから継承されたメソッド org.opengion.fukurou.model.DataModel

      `getColumnNo, getModifyType, getNames, getNativeType, getRowCount, getValue, getValues, setModifyType, setValues`

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

    - #### DEFAULT_WRITABLE

          static final boolean DEFAULT_WRITABLE

      行指定の書込み許可を与えます。 具体的には,チェックボックスの表示/非表示を指定します。 これが true の場合は,書込み許可です。(チェックボックスを表示) false の場合は,書込み不許可(チェックボックスは表示されません。) 行毎に書込み許可/不許可を指定する場合は,１カラム目に writable カラムを用意して true/false を指定します。 この writable カラムとの論理積により最終的にチェックボックスの 表示の ON/OFF が決まります。 このデフォルト値は、true に設定されています。
      関連項目:
        定数フィールド値

    - #### DEFAULT_CHECKED

          static final boolean DEFAULT_CHECKED

      行指定用のチェックボックスに対して初期値を 選択済みにするか、 非選択済みにするかのデフォルト値を指定します。 このデフォルト値は、false に設定されています。
      関連項目:
        定数フィールド値

  - ### メソッドの詳細

    - #### init

          void init​(int columnCount)

      このオブジェクトを初期化します。 指定の引数分の内部配列を作成します。 具体的には,DBColumn の数を指定することになります。
      パラメータ:
        `columnCount` - カラム数

    - #### newModel

          DBTableModel newModel()

      このオブジェクトをヘッダー部分をコピーし、データを初期化します。 これは、カラムなどヘッダー系の情報は、元と同じオブジェクトを共有し、 データ部のみ空にした DBTableModel を作成することを意味します。 この際、consistencyKey も複写しますので、整合性は崩れないように、 データ登録を行う必要があります。
      戻り値:
        DBTableModelオブジェクト
      変更履歴:
        4.0.0.0 (2007/06/28) 新規作成

    - #### getColumnLabel

          String getColumnLabel​(int column)

      カラムのラベル名を返します。 カラムの項目名に対して,見える形の文字列を返します。 一般には,リソースバンドルと組合せて,各国ロケール毎にラベルを 切替えます。 セットされた DBColumn#getLabel( int ) の値が返されます。
      パラメータ:
        `column` - カラム番号
      戻り値:
        カラムのラベル名

    - #### getValue

          String getValue​(int aRow,
                          String columnName)

      row および columnName にあるセルの属性値をStringに変換して返します。
      パラメータ:
        `aRow` - 値が参照される行
        `columnName` - 値が参照されるカラム名
      戻り値:
        指定されたセルの値 String
      関連項目:
        `DataModel.getValue( int , int )`

    - #### setDBColumn

          void setDBColumn​(int dbColumn,
                           DBColumn clm)

      カラム(列)にカラムオブジェクトを割り当てます。 カラムオブジェクトは，ラベルやネームなど，そのカラム情報を 保持したオブジェクトです。
      パラメータ:
        `dbColumn` - カラムオブジェクト
        `clm` - ヘッダーを適応するカラム(列)

    - #### getDBColumn

          DBColumn getDBColumn​(int clm)

      カラム(列)のカラムオブジェクトを返します。 カラムオブジェクトは，ラベルやネームなど，そのカラム情報を 保持したオブジェクトです。
      パラメータ:
        `clm` - ヘッダーを適応するカラム(列)
      戻り値:
        DBColumnカラムオブジェクト

    - #### getDBColumns

          DBColumn[] getDBColumns()

      カラムオブジェクト配列を返します。 カラムオブジェクトは，ラベルやネームなど，そのカラム情報を 保持したオブジェクトです。
      戻り値:
        カラムオブジェクト配列
      変更履歴:
        4.0.0.0 (2005/12/31) 新規追加

    - #### getColumnNo

          int getColumnNo​(String columnName,
                          boolean useThrow)

      カラム名をもとに、そのカラム番号を返します。 useThrow が、true の場合は、カラム名が存在しない場合は､ HybsSystemException を throw します。useThrow が、false の場合は、カラム名が存在しない場合は､ -1 を返します。
      パラメータ:
        `columnName` - カラム名
        `useThrow` - カラム名が存在しない場合に、Exception を throw するかどうか
      戻り値:
        カラム番号
      変更履歴:
        4.0.0.0 (2005/12/31) 新規追加

    - #### resetModify

          void resetModify()

      変更済みフラグを元に戻します。 一般には,データベースにテーブルモデルを登録するタイミングで、 変更済みフラグを元に戻します。

    - #### resetRow

          void resetRow​(int row)

      変更データを初期値(元の取り込んだ状態)に戻します。 変更タイプ(追加/変更/削除)に応じて、処理されます。 追加時は、追加された行を削除します。 変更時は、変更された行を元に戻します。 削除時は、削除フラグを解除します。 それ以外の場合(変更されていない場合)は、なにもしません。
      パラメータ:
        `row` - 処理を戻す(取り消す)行

    - #### isRowWritable

          boolean isRowWritable​(int aRow)

      書込み許可を返します。
      パラメータ:
        `aRow` - 値が参照される行
      戻り値:
        書込み可能(true)／不可能(false)

    - #### isRowChecked

          boolean isRowChecked​(int row)

      書き込み可能な行(rowWritable == true)のチェックボックスに対して 初期値を 選択済みか、非選択済みかを返します。
      パラメータ:
        `row` - 値が参照される行
      戻り値:
        初期値チェックON(true)／チェックOFF(false)

    - #### isOverflow

          boolean isOverflow()

      検索結果が オーバーフローしたかどうかをチェックします。 Query で検索した場合に、DB_MAX_ROW_COUNT または、Query.setMaxRowCount( int maxRowCount ) で指定された値よりも検索結果が多い場合に、DBTableModel は、先の設定値までの データを取り込みます。そのときに、オーバーフローフラグを立てておくことで、最大件数を オーバーしたかどうかを判断します。
      戻り値:
        オーバーフロー(true)／正常(false)

    - #### getConsistencyKey

          String getConsistencyKey()

      検索されたDBTableModelが登録時に同一かどうかを判断する為の 整合性キーを取得します。 ここでの整合性は、同一セッション(ユーザー)毎にユニークかどうかで対応します。 分散環境(複数のセッション間)での整合性は、確保できません。 整合性キー は、オブジェクト作成時刻としますが、将来変更される可能性があります。
      戻り値:
        整合性キー(オブジェクトの作成時刻)
      変更履歴:
        3.5.5.5 (2004/04/23) 新規追加

    - #### getColumnCount

          int getColumnCount()

      データテーブル内の列の数を返します。
      戻り値:
        モデルの列数
      変更履歴:
        3.5.3.1 (2003/10/31) インターフェースの見直しにより、追加

    - #### getColumnName

          String getColumnName​(int column)

      カラム名を取得します。
      パラメータ:
        `column` - 最初のカラムは 0、2番目のカラムは 1、などとする。
      戻り値:
        カラム名
      変更履歴:
        3.5.3.1 (2003/10/31) インターフェースの見直しにより、追加

    - #### setValue

          void setValue​(int aRow,
                        String columnName,
                        String value)

      column に対応した 値を登録します。 column には、番号ではなく､ラベルを指定します。
      パラメータ:
        `aRow` - 値が変更される行
        `columnName` - 値が変更されるカラム名
        `value` - 新しい値。null も可
      変更履歴:
        3.5.6.4 (2004/07/16) interface に新規登録

    - #### setValueAt

          void setValueAt​(String value,
                          int aRow,
                          int aColumn)

      column および row にあるセルのオブジェクト値を設定します。 value は新しい値です。このメソッドは、tableChanged() 通知を生成します。
      パラメータ:
        `value` - 新しい値。null も可
        `aRow` - 値が変更される行
        `aColumn` - 値が変更される列
      変更履歴:
        3.1.0.0 (2003/03/20) 同期メソッド(synchronized付き)を非同期に変更する。, 3.5.3.1 (2003/10/31) インターフェースの見直しにより、private 化する。, 4.0.0.0 (2007/05/24) インターフェースの見直しにより、public 化する。

    - #### rowDelete

          void rowDelete​(int aRow)

      行を削除します。 物理削除ではなく、論理削除です。 データを取り込むことは可能です。
      パラメータ:
        `aRow` - 論理削除される行
      変更履歴:
        3.5.6.4 (2004/07/16) interface に新規登録

    - #### rowDelete

          void rowDelete​(String[] values,
                         int aRow)

      row にあるセルのオブジェクト値を置き換えて、行を削除します。 物理削除ではなく、論理削除です。 値を置き換えたデータを取り込むことが可能です。
      パラメータ:
        `values` - 新しい配列値。
        `aRow` - 論理削除される行
      変更履歴:
        3.5.6.4 (2004/07/16) interface に新規登録

    - #### removeValue

          void removeValue​(int aRow)

      行を物理削除します。 メモリ上で編集する場合に使用しますが,一般アプリケーションからの 使用は、物理削除の為,お勧めいたしません。
      パラメータ:
        `aRow` - 物理削除される行
      変更履歴:
        3.5.6.4 (2004/07/16) interface に新規登録

    - #### addValues

          void addValues​(String[] values,
                         int aRow)

      row の下に属性値配列を追加登録します。
      パラメータ:
        `values` - 属性値配列
        `aRow` - 値が参照される行
      変更履歴:
        3.5.6.4 (2004/07/16) interface に新規登録

    - #### addValues

          void addValues​(String[] values,
                         int aRow,
                         boolean isWritable)

      row の下に属性値配列を追加登録します。 isWritableをfalseにした場合、編集不可能な状態で追加されます。
      パラメータ:
        `values` - 属性値配列
        `aRow` - 値が参照される行
        `isWritable` - 編集不可能な状態で追加するか
      変更履歴:
        4.3.1.0 (2008/09/04) interface に新規登録

    - #### addColumnValues

          void addColumnValues​(String[] values)

      row あるセルの属性値配列を追加登録します。 これは,初期登録時のみに使用します。
      パラメータ:
        `values` - 属性値配列
      変更履歴:
        3.5.6.4 (2004/07/16) interface に新規登録

    - #### addColumnValues

          void addColumnValues​(String[] values,
                               String modType,
                               boolean rw)

      row あるセルの属性値配列を追加登録します。 これは,初期登録時のみに使用します。 このメソッドでは、同時に、変更タイプ と、書込み許可を指定できます。
      パラメータ:
        `values` - 属性値配列
        `modType` - 変更タイプ(追加/変更/削除)
        `rw` - 書込み可能(true)／不可能(false)
      変更履歴:
        6.2.2.0 (2015/03/27) interface に変更タイプ と、書込み許可を追加

    - #### resetModify

          void resetModify​(int aRow)

      変更済みフラグを元に戻します。 一般には,データベースにテーブルモデルを登録するタイミングで、 変更済みフラグを元に戻します。
      パラメータ:
        `aRow` - 値が参照される行
      変更履歴:
        3.5.6.4 (2004/07/16) interface に新規登録

    - #### setRowWritable

          void setRowWritable​(int aRow,
                              boolean rw)

      行が書き込み可能かどうかをセットします。 デフォルト/およびなにも設定しない場合は, DEFAULT_WRITABLE が 与えられています。 これが true の場合は,書込み許可です。(チェックボックスを表示) false の場合は,書込み不許可(チェックボックスは表示されません。)
      パラメータ:
        `aRow` - 値が参照される行
        `rw` - 書込み可能(true)／不可能(false)
      変更履歴:
        3.5.6.4 (2004/07/16) interface に新規登録

    - #### setRowChecked

          void setRowChecked​(int aRow,
                             boolean rw)

      書き込み可能な行(rowWritable == true)のチェックボックスに対して 初期値を 選択済みにするか、非選択済みにするかを指定します。
      パラメータ:
        `aRow` - 値が参照される行
        `rw` - チェックON(true)／チェックOFF(false)
      変更履歴:
        3.5.6.4 (2004/07/16) interface に新規登録

    - #### setDefaultRowWritable

          void setDefaultRowWritable​(boolean rw)

      行指定の書込み許可を与えます。 具体的には,チェックボックスの表示/非表示を指定します。 これが true の場合は,書込み許可です。(チェックボックスを表示) false の場合は,書込み不許可(チェックボックスは表示されません。) 行毎に書込み許可/不許可を指定する場合は,１カラム目に writable カラムを用意して true/false を指定します。 この writable カラムとの論理積により最終的にチェックボックスの 表示の ON/OFF が決まります。 なにも設定しない場合は, ViewForm.DEFAULT_WRITABLE が設定されます。
      パラメータ:
        `rw` - 書込み可能(true)／不可能(false)
      変更履歴:
        3.5.6.4 (2004/07/16) interface に新規登録

    - #### setDefaultRowChecked

          void setDefaultRowChecked​(boolean rw)

      書き込み可能な行(rowWritable == true)のチェックボックスに対して 初期値を 選択済みにするか、非選択済みにするかを指定します。
      パラメータ:
        `rw` - 選択状態(true)／非選択状態(false)
      変更履歴:
        3.5.6.4 (2004/07/16) interface に新規登録

    - #### setOverflow

          void setOverflow​(boolean of)

      検索結果が オーバーフローしたかどうかを設定します。 Query で検索した場合に、DB_MAX_ROW_COUNT または、Query.setMaxRowCount( int maxRowCount ) で指定された値よりも検索結果が多い場合に、DBTableModel は、先の設定値までの データを取り込みます。そのときに、オーバーフローフラグを立てておくことで、最大件数を オーバーしたかどうかを判断します。
      パラメータ:
        `of` - オーバーフロー(true)／正常(false)
      変更履歴:
        3.5.6.4 (2004/07/16) interface に新規登録

    - #### addMustType

          void addMustType​(int dbColumn,
                           String type)

      カラム(列)にmustタイプ値を割り当てます。 この値は、columnCheck 時の nullCheck や mustAnyCheck の チェック対象カラムとして認識されます。
      パラメータ:
        `dbColumn` - カラムオブジェクト
        `type` - mustタイプ(must,mustAny)
      変更履歴:
        4.1.2.1 (2008/03/13) interface に新規登録

    - #### getMustArray

          String[] getMustArray()

      mustType="must"時のカラム名を、CSV形式として返します。 この値は、columnCheck 時の nullCheck のチェック対象カラムとして 認識されます。 カラム名配列は、ソート済みです。
      戻り値:
        mustType="must"時のカラム名配列(ソート済み)
      変更履歴:
        4.1.2.1 (2008/03/13) interface に新規登録

    - #### getMustAnyArray

          String[] getMustAnyArray()

      mustType="mustAny" 他のカラム名を、CSV形式として返します。 この値は、columnCheck 時の mustAnyCheck のチェック対象カラムとして 認識されます。 カラム名配列は、ソート済みです。
      戻り値:
        mustType="mustAny"時のカラム名配列(ソート済み)
      変更履歴:
        4.1.2.1 (2008/03/13) interface に新規登録