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

# インタフェース DBTableModel

すべてのスーパーインタフェース:
  `DataModel<String>`

既知の実装クラスのリスト:
  `DBTableModelEditor`, `DBTableModelImpl`, `DBTableModelSorter`

public interface DBTableModel extends DataModel<String>
javax.swing.table.TableModel インターフェースを継承したデータベース情報を TableModel情報にマッピングするのに利用します。 DataModel<String> インターフェースを継承しています。

機能分類
  テーブル管理
導入されたバージョン:
  JDK5.0,

- ## フィールドの概要

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

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

  `DELETE_TYPE, INSERT_TYPE, UPDATE_TYPE`

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `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[]`
  `getChangeRowNos()`
  データが更新された行番号の配列を返します。
  `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` - 処理を戻す(取り消す)行

  - ### getChangeRowNos

    int[] getChangeRowNos()
    データが更新された行番号の配列を返します。 これは、変更があったデータの行番号の配列をピックアップします。
    戻り値:
      行番号の配列
    変更履歴:
      7.4.2.0 (2021/04/30) 変更があったデータのみを処理するかどうか[true/false]を指定します(初期値:false)

  - ### 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 に新規登録