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

# クラス DBTableModelImpl

java.lang.Object
org.opengion.hayabusa.db.DBTableModelImpl

すべての実装されたインタフェース:
  `DataModel<String>`, `DBTableModel`

直系の既知のサブクラス:
  `DBTableModelEditor`, `DBTableModelSorter`

public class DBTableModelImpl extends Object implements DBTableModel
DBTableModel インターフェースを継承した TableModel の実装クラスです。 sql文を execute( query ) する事により,データベースを検索した結果を DBTableModel に割り当てます。 メソッドを宣言しています DBTableModel インターフェースは，データベースの検索結果(Resultset)をラップする インターフェースとして使用して下さい。

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

- ## フィールドの概要

  フィールド
  修飾子とタイプ
  フィールド
  説明
  `protected ConcurrentMap<String,Integer>`
  `columnMap`
  カラムアドレスマップ情報 6.4.3.1 (2016/02/12) PMD refactoring.
  `protected String`
  `consistencyKey`
  整合性キー(オブジェクトの作成時刻)
  `protected List<String[]>`
  `data`
  テータリスト
  `protected DBColumn[]`
  `dbColumns`
  カラムオブジェクト配列
  `protected String[]`
  `names`
  カラム名称配列
  `protected int`
  `numberOfColumns`
  カラム数
  `protected boolean`
  `overflow`
  オーバーフローフラグ
  `protected List<DBRowHeader>`
  `rowHeader`
  行ヘッダー情報

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

  `DELETE_TYPE, INSERT_TYPE, UPDATE_TYPE`

  ### インタフェースから継承されたフィールド org.opengion.hayabusa.db.DBTableModel

  `DEFAULT_CHECKED, DEFAULT_WRITABLE`

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

  コンストラクタ
  コンストラクタ
  説明
  `DBTableModelImpl()`
  デフォルトコンストラクター

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `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)`
  カラム名をもとに、そのカラム番号を返します。
  `int`
  `getColumnNo(String columnName, boolean useThrow)`
  カラム名をもとに、そのカラム番号を返します。
  `String`
  `getConsistencyKey()`
  検索されたDBTableModelが登録時に同一かどうかを判断する為の 整合性キーを取得します。
  `DBColumn`
  `getDBColumn(int clm)`
  カラム(列)のカラムオブジェクトを返します。
  `DBColumn[]`
  `getDBColumns()`
  カラムオブジェクト配列を返します。
  `String`
  `getModifyType(int aRow)`
  row 単位に変更されたタイプ(追加/変更/削除)を返します。
  `String[]`
  `getMustAnyArray()`
  mustType="mustAny" 他のカラム名を、文字列配列として返します。
  `String[]`
  `getMustArray()`
  mustType="must"時のカラム名を、文字列配列として返します。
  `String[]`
  `getNames()`
  カラム名配列を返します。
  `NativeType`
  `getNativeType(int clm)`
  カラムに定義されたDBTypeよりNativeタイプを返します。
  `int`
  `getRowCount()`
  データテーブル内の行の数を返します。
  `String`
  `getValue(int aRow, int aColumn)`
  row および column にあるセルの属性値をStringに変換して返します。
  `String`
  `getValue(int aRow, String columnName)`
  row および columnName にあるセルの属性値をStringに変換して返します。
  `String[]`
  `getValues(int aRow)`
  row にあるセルの属性値を配列で返します。
  `void`
  `init(int columnCount)`
  このオブジェクトを初期化します。
  `boolean`
  `isOverflow()`
  検索結果が オーバーフローしたかどうかをチェックします。
  `boolean`
  `isRowChecked(int aRow)`
  書き込み可能な行(rowWritable == true)のチェックボックスに対して 初期値を 選択済みか、非選択済みかを返します。
  `boolean`
  `isRowWritable(int aRow)`
  書込み許可を返します。
  `DBTableModel`
  `newModel()`
  このオブジェクトをヘッダー部分をコピーし、データを初期化します。
  `void`
  `removeValue(int aRow)`
  行を物理削除します。
  `void`
  `resetModify()`
  変更済みフラグを元に戻します。
  `void`
  `resetModify(int aRow)`
  変更済みフラグを元に戻します。
  `void`
  `resetRow(int aRow)`
  変更データを初期値(元の取り込んだ状態)に戻します。
  `void`
  `rowDelete(int aRow)`
  行を削除します。
  `void`
  `rowDelete(String[] values, int aRow)`
  row にあるセルのオブジェクト値を置き換えて、行を削除します。
  `void`
  `setDBColumn(int clm, DBColumn dbColumn)`
  カラム(列)にカラムオブジェクトを割り当てます。
  `void`
  `setDefaultRowChecked(boolean rw)`
  書き込み可能な行(rowWritable == true)のチェックボックスに対して 初期値を 選択済みにするか、非選択済みにするかを指定します。
  `void`
  `setDefaultRowWritable(boolean rw)`
  行指定の書込み許可を与えます。
  `void`
  `setModifyType(int aRow, String modType)`
  row 単位に変更タイプ(追加/変更/削除)をセットします。
  `void`
  `setOverflow(boolean of)`
  検索結果が オーバーフローしたかどうかを設定します。
  `void`
  `setRowChecked(int aRow, boolean rw)`
  書き込み可能な行(rowWritable == true)のチェックボックスに対して 初期値を 選択済みにするか、非選択済みにするかを指定します。
  `protected void`
  `setRowHeader(int aRow, String modType)`
  row 単位に変更タイプ(追加/変更/削除)をセットします。
  `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 にあるセルのオブジェクト値を設定します。
  `void`
  `setValues(String[] values, int aRow)`
  row にあるセルのオブジェクト値を置き換えます。

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

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

- ## フィールド詳細

  - ### dbColumns

    protected DBColumn[] dbColumns
    カラムオブジェクト配列

  - ### names

    protected String[] names
    カラム名称配列

  - ### data

    protected List<String[]> data
    テータリスト

  - ### rowHeader

    protected List<DBRowHeader> rowHeader
    行ヘッダー情報

  - ### columnMap

    protected ConcurrentMap<String,Integer> columnMap
    カラムアドレスマップ情報 6.4.3.1 (2016/02/12) PMD refactoring. HashMap → ConcurrentHashMap に置き換え。

  - ### overflow

    protected boolean overflow
    オーバーフローフラグ

  - ### numberOfColumns

    protected int numberOfColumns
    カラム数

  - ### consistencyKey

    protected String consistencyKey
    整合性キー(オブジェクトの作成時刻)

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

  - ### DBTableModelImpl

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

- ## メソッドの詳細

  - ### init

    public void init(int columnCount)
    このオブジェクトを初期化します。 指定の引数分の内部配列を作成します。
    定義:
      `init` インタフェース内 `DBTableModel`
    パラメータ:
      `columnCount` - カラム数
    変更履歴:
      3.1.0.0 (2003/03/20) 実装を、Vector ，Hashtable から、ArrayList ，HashMapに、変更。, 3.1.0.0 (2003/03/20) 同期メソッド(synchronized付き)を非同期に変更する。, 6.4.3.1 (2016/02/12) PMD refactoring. HashMap → ConcurrentHashMap に置き換え。

  - ### newModel

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

  - ### getNames

    public String[] getNames()
    カラム名配列を返します。
    定義:
      `getNames` インタフェース内 `DataModel<String>`
    戻り値:
      カラム名配列
    変更履歴:
      3.0.0.0 (2002/12/25) カラム名配列を取得するメソッドを追加する。, 3.5.6.0 (2004/06/18) 配列をそのまま返さずに、clone して返します。, 3.6.0.0 (2004/09/22) names が null の場合は、初期設定エラーとします。
    このﾒｿｯﾄﾞは、nullを返しません

  - ### setValue

    public void setValue(int aRow, String columnName, String value)
    column に対応した 値を登録します。 column には、番号ではなく､ラベルを指定します。 指定の行番号が、内部のデータ件数より多い場合は、データを追加します。
    定義:
      `setValue` インタフェース内 `DBTableModel`
    パラメータ:
      `aRow` - 値が変更される行
      `columnName` - 値が変更されるカラム名
      `value` - 新しい値。null も可
    変更履歴:
      3.1.0.0 (2003/03/20) 同期メソッド(synchronized付き)を非同期に変更する。

  - ### rowDelete

    public void rowDelete(int aRow)
    行を削除します。 物理削除ではなく、論理削除です。 データを取り込むことは可能です。
    定義:
      `rowDelete` インタフェース内 `DBTableModel`
    パラメータ:
      `aRow` - 論理削除される行
    変更履歴:
      3.1.0.0 (2003/03/20) 同期メソッド(synchronized付き)を非同期に変更する。

  - ### rowDelete

    public void rowDelete(String[] values, int aRow)
    row にあるセルのオブジェクト値を置き換えて、行を削除します。 物理削除ではなく、論理削除です。 値を置き換えたデータを取り込むことが可能です。
    定義:
      `rowDelete` インタフェース内 `DBTableModel`
    パラメータ:
      `values` - 新しい配列値。
      `aRow` - 論理削除される行
    変更履歴:
      3.5.4.2 (2003/12/15) 新規追加

  - ### removeValue

    public void removeValue(int aRow)
    行を物理削除します。 メモリ上で編集する場合に使用しますが,一般アプリケーションからの 使用は、物理削除の為,お勧めいたしません。
    定義:
      `removeValue` インタフェース内 `DBTableModel`
    パラメータ:
      `aRow` - 物理削除される行
    変更履歴:
      3.1.0.0 (2003/03/20) 同期メソッド(synchronized付き)を非同期に変更する。

  - ### getColumnLabel

    public String getColumnLabel(int column)
    カラムのラベル名を返します。 カラムの項目名に対して,見える形の文字列を返します。 一般には,リソースバンドルと組合せて,各国ロケール毎にラベルを 切替えます。
    定義:
      `getColumnLabel` インタフェース内 `DBTableModel`
    パラメータ:
      `column` - カラム番号
    戻り値:
      カラムのラベル名

  - ### getValue

    public String getValue(int aRow, int aColumn)
    row および column にあるセルの属性値をStringに変換して返します。
    定義:
      `getValue` インタフェース内 `DataModel<String>`
    パラメータ:
      `aRow` - 値が参照される行
      `aColumn` - 値が参照される列
    戻り値:
      指定されたセルの値 String
    変更履歴:
      3.5.5.7 (2004/05/10) 連続同一 row アクセスのキャッシュ利用対応

  - ### getValue

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

  - ### setDBColumn

    public void setDBColumn(int clm, DBColumn dbColumn)
    カラム(列)にカラムオブジェクトを割り当てます。 カラムオブジェクトは，ラベルやネームなど，そのカラム情報を 保持したオブジェクトです。
    定義:
      `setDBColumn` インタフェース内 `DBTableModel`
    パラメータ:
      `clm` - ヘッダーを適応するカラム(列)
      `dbColumn` - カラムオブジェクト
    変更履歴:
      3.1.0.0 (2003/03/20) 同期メソッド(synchronized付き)を非同期に変更する。

  - ### getDBColumn

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

  - ### getDBColumns

    public DBColumn[] getDBColumns()
    カラムオブジェクト配列を返します。 カラムオブジェクトは，ラベルやネームなど，そのカラム情報を 保持したオブジェクトです。
    定義:
      `getDBColumns` インタフェース内 `DBTableModel`
    戻り値:
      カラムオブジェクト配列
    変更履歴:
      4.0.0.0 (2005/12/31) 新規追加

  - ### getColumnNo

    public int getColumnNo(String columnName)
    カラム名をもとに、そのカラム番号を返します。 カラム名が存在しない場合は､ HybsSystemException を throw します。
    定義:
      `getColumnNo` インタフェース内 `DataModel<String>`
    パラメータ:
      `columnName` - カラム名
    戻り値:
      カラム番号
    関連項目:
      - `getColumnNo(String,boolean)`

  - ### getColumnNo

    public int getColumnNo(String columnName, boolean useThrow)
    カラム名をもとに、そのカラム番号を返します。 useThrow が、true の場合は、カラム名が存在しない場合は､ HybsSystemException を throw します。useThrow が、false の場合は、カラム名が存在しない場合は､ -1 を返します。
    定義:
      `getColumnNo` インタフェース内 `DBTableModel`
    パラメータ:
      `columnName` - カラム名
      `useThrow` - カラム名が存在しない場合に、Exception を throw するかどうか
    戻り値:
      カラム番号
    関連項目:
      - `getColumnNo(String)`
    変更履歴:
      4.0.0.0 (2005/12/31) 新規追加

  - ### addValues

    public void addValues(String[] values, int aRow)
    row の下に属性値配列を追加登録します。
    定義:
      `addValues` インタフェース内 `DBTableModel`
    パラメータ:
      `values` - 属性値配列
      `aRow` - 値が参照される行
    変更履歴:
      3.1.0.0 (2003/03/20) 同期メソッド(synchronized付き)を非同期に変更する。

  - ### addValues

    public void addValues(String[] values, int aRow, boolean isWritable)
    row の下に属性値配列を追加登録します。 isWritableをfalseにした場合、編集不可能な状態で追加されます。
    定義:
      `addValues` インタフェース内 `DBTableModel`
    パラメータ:
      `values` - 属性値配列
      `aRow` - 値が参照される行
      `isWritable` - 編集不可能な状態で追加するか
    変更履歴:
      4.3.1.0 (2008/09/04) interface に新規登録

  - ### addColumnValues

    public void addColumnValues(String[] values)
    row あるセルの属性値配列を追加登録します。 これは,初期登録時のみに使用します。
    定義:
      `addColumnValues` インタフェース内 `DBTableModel`
    パラメータ:
      `values` - 属性値配列
    変更履歴:
      3.1.0.0 (2003/03/20) 同期メソッド(synchronized付き)を非同期に変更する。

  - ### addColumnValues

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

  - ### getColumnName

    public String getColumnName(int column)
    カラム名を取得します。
    定義:
      `getColumnName` インタフェース内 `DBTableModel`
    パラメータ:
      `column` - 最初のカラムは 0、2番目のカラムは 1、などとする。
    戻り値:
      カラム名

  - ### getColumnCount

    public int getColumnCount()
    データテーブル内の列の数を返します。
    定義:
      `getColumnCount` インタフェース内 `DBTableModel`
    戻り値:
      モデルの列数

  - ### getRowCount

    public int getRowCount()
    データテーブル内の行の数を返します。
    定義:
      `getRowCount` インタフェース内 `DataModel<String>`
    戻り値:
      モデルの行数

  - ### setValueAt

    public void setValueAt(String value, int aRow, int aColumn)
    column および row にあるセルのオブジェクト値を設定します。 このメソッドは、行番号の範囲チェックや、列番号のチェックを行いません。 また、登録に際して、更新マーカー(UPDATE_TYPE等)を設定しません。
    定義:
      `setValueAt` インタフェース内 `DBTableModel`
    パラメータ:
      `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 化する。

  - ### getValues

    public String[] getValues(int aRow)
    row にあるセルの属性値を配列で返します。
    定義:
      `getValues` インタフェース内 `DataModel<String>`
    パラメータ:
      `aRow` - 値が参照される行
    戻り値:
      指定されたセルの属性値

  - ### setValues

    public void setValues(String[] values, int aRow)
    row にあるセルのオブジェクト値を置き換えます。
    定義:
      `setValues` インタフェース内 `DataModel<String>`
    パラメータ:
      `values` - 新しい配列値。
      `aRow` - 値が変更される行
    変更履歴:
      3.1.0.0 (2003/03/20) 同期メソッド(synchronized付き)を非同期に変更する。

  - ### resetModify

    public void resetModify()
    変更済みフラグを元に戻します。
    定義:
      `resetModify` インタフェース内 `DBTableModel`
    変更履歴:
      3.1.0.0 (2003/03/20) 同期メソッド(synchronized付き)を非同期に変更する。 一般には,データベースにテーブルモデルを登録するタイミングで、 変更済みフラグを元に戻します。

  - ### resetModify

    public void resetModify(int aRow)
    変更済みフラグを元に戻します。 一般には,データベースにテーブルモデルを登録するタイミングで、 変更済みフラグを元に戻します。
    定義:
      `resetModify` インタフェース内 `DBTableModel`
    パラメータ:
      `aRow` - 値が参照される行
    変更履歴:
      3.1.0.0 (2003/03/20) 同期メソッド(synchronized付き)を非同期に変更する。

  - ### getModifyType

    public String getModifyType(int aRow)
    row 単位に変更されたタイプ(追加/変更/削除)を返します。 タイプは始めに一度登録するとそれ以降に変更はかかりません。 つまり、始めに 追加で作成したデータは、その後変更があっても追加のままです。 なにも変更されていない場合は, ""(ゼロストリング)を返します。
    定義:
      `getModifyType` インタフェース内 `DataModel<String>`
    パラメータ:
      `aRow` - 値が参照される行
    戻り値:
      変更されたタイプの値 String

  - ### setModifyType

    public void setModifyType(int aRow, String modType)
    row 単位に変更タイプ(追加/変更/削除)をセットします。 このメソッドでは、データのバックアップは取りません。 タイプは始めに一度登録するとそれ以降に変更はかかりません。 なにも変更されていない場合は, ""(ゼロストリング)の状態です。
    定義:
      `setModifyType` インタフェース内 `DataModel<String>`
    パラメータ:
      `aRow` - 値が参照される行
      `modType` - 変更タイプ(追加/変更/削除)

  - ### setRowHeader

    protected void setRowHeader(int aRow, String modType)
    row 単位に変更タイプ(追加/変更/削除)をセットします。 セットすると同時に、データのバックアップを取ります。 タイプは始めに一度登録するとそれ以降に変更はかかりません。 つまり、始めに 追加で作成したデータは、その後変更があっても追加のままです。 なにも変更されていない場合は, ""(ゼロストリング)の状態です。
    パラメータ:
      `aRow` - 値が参照される行
      `modType` - 変更タイプ(追加/変更/削除)
    変更履歴:
      3.5.6.0 (2004/06/18) setBackupData 側で 配列をコピーしているため、こちらでは不要。, 3.5.6.4 (2004/07/16) protected 化します。

  - ### resetRow

    public void resetRow(int aRow)
    変更データを初期値(元の取り込んだ状態)に戻します。 変更タイプ(追加/変更/削除)に応じて、処理されます。 追加時は、追加された行を削除します。 変更時は、変更された行を元に戻します。 削除時は、削除フラグを解除します。 それ以外の場合(変更されていない場合)は、なにもしません。
    定義:
      `resetRow` インタフェース内 `DBTableModel`
    パラメータ:
      `aRow` - 処理を戻す(取り消す)行
    変更履歴:
      3.1.0.0 (2003/03/20) 同期メソッド(synchronized付き)を非同期に変更する。, 3.5.4.2 (2003/12/15) "DELETE" 時に値を置き換えた場合にUPDATEと同様に戻します。

  - ### getChangeRowNos

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

  - ### isRowWritable

    public boolean isRowWritable(int aRow)
    書込み許可を返します。
    定義:
      `isRowWritable` インタフェース内 `DBTableModel`
    パラメータ:
      `aRow` - 値が参照される行
    戻り値:
      書込み可能(true)／不可能(false)

  - ### setRowWritable

    public void setRowWritable(int aRow, boolean rw)
    行が書き込み可能かどうかをセットします。 デフォルト/およびなにも設定しない場合は, DEFAULT_WRITABLE が 与えられています。 これが true の場合は,書込み許可です。(チェックボックスを表示) false の場合は,書込み不許可(チェックボックスは表示されません。)
    定義:
      `setRowWritable` インタフェース内 `DBTableModel`
    パラメータ:
      `aRow` - 値が参照される行
      `rw` - 書込み可能(true)／不可能(false)
    変更履歴:
      3.1.0.0 (2003/03/20) 同期メソッド(synchronized付き)を非同期に変更する。

  - ### isRowChecked

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

  - ### setRowChecked

    public void setRowChecked(int aRow, boolean rw)
    書き込み可能な行(rowWritable == true)のチェックボックスに対して 初期値を 選択済みにするか、非選択済みにするかを指定します。
    定義:
      `setRowChecked` インタフェース内 `DBTableModel`
    パラメータ:
      `aRow` - 値が参照される行
      `rw` - チェックON(true)／チェックOFF(false)
    変更履歴:
      3.1.0.0 (2003/03/20) 同期メソッド(synchronized付き)を非同期に変更する。

  - ### setDefaultRowWritable

    public void setDefaultRowWritable(boolean rw)
    行指定の書込み許可を与えます。 具体的には,チェックボックスの表示/非表示を指定します。 これが true の場合は,書込み許可です。(チェックボックスを表示) false の場合は,書込み不許可(チェックボックスは表示されません。) 行毎に書込み許可/不許可を指定する場合は,１カラム目に writable カラムを用意して true/false を指定します。 この writable カラムとの論理積により最終的にチェックボックスの 表示の ON/OFF が決まります。 なにも設定しない場合は, ViewForm.DEFAULT_WRITABLE が設定されます。
    定義:
      `setDefaultRowWritable` インタフェース内 `DBTableModel`
    パラメータ:
      `rw` - 書込み可能(true)／不可能(false)

  - ### setDefaultRowChecked

    public void setDefaultRowChecked(boolean rw)
    書き込み可能な行(rowWritable == true)のチェックボックスに対して 初期値を 選択済みにするか、非選択済みにするかを指定します。
    定義:
      `setDefaultRowChecked` インタフェース内 `DBTableModel`
    パラメータ:
      `rw` - 選択状態(true)／非選択状態(false)

  - ### isOverflow

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

  - ### setOverflow

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

  - ### getConsistencyKey

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

  - ### getNativeType

    public NativeType getNativeType(int clm)
    カラムに定義されたDBTypeよりNativeタイプを返します。 Nativeタイプはorg.opengion.fukurou.model.NativeTypeで定義されています。
    定義:
      `getNativeType` インタフェース内 `DataModel<String>`
    パラメータ:
      `clm` - 値が参照される列
    戻り値:
      Nativeタイプ
    関連項目:
      - `NativeType`
    変更履歴:
      4.1.1.2 (2008/02/28) 新規追加

  - ### addMustType

    public void addMustType(int dbColumn, String type)
    カラム(列)にmustタイプ値を割り当てます。 この値は、columnCheck 時の nullCheck や mustAnyCheck の チェック対象カラムとして認識されます。 ※ 6.8.1.4 (2017/08/25) type に、null を指定できるようにします。その場合は、type="must" を 削除する動きになります。 本来なら、delMustType( int ) などのメソッド追加が良いのですが、 今回は、変更箇所を少ない目にするため、このメソッドのみで対応します。
    定義:
      `addMustType` インタフェース内 `DBTableModel`
    パラメータ:
      `dbColumn` - カラムオブジェクト
      `type` - mustタイプ(must,mustAny,false)
    変更履歴:
      4.1.2.1 (2008/03/13) interface に新規登録, 6.4.3.1 (2016/02/12) PMD refactoring. HashMap → ConcurrentHashMap に置き換え。, 6.8.1.4 (2017/08/25) mustに、false 指定が出来るようにします。, 6.9.3.1 (2018/04/02) mustに、clear 指定で、mustMap すべてをクリアします。

  - ### getMustArray

    public String[] getMustArray()
    mustType="must"時のカラム名を、文字列配列として返します。 この値は、columnCheck 時の nullCheck のチェック対象カラムとして 認識されます。 カラム名配列は、ソート済みです。
    定義:
      `getMustArray` インタフェース内 `DBTableModel`
    戻り値:
      mustType="must"時のカラム名配列(ソート済み)
    変更履歴:
      4.1.2.1 (2008/03/13) interface に新規登録

  - ### getMustAnyArray

    public String[] getMustAnyArray()
    mustType="mustAny" 他のカラム名を、文字列配列として返します。 この値は、columnCheck 時の mustAnyCheck のチェック対象カラムとして 認識されます。 カラム名配列は、ソート済みです。
    定義:
      `getMustAnyArray` インタフェース内 `DBTableModel`
    戻り値:
      mustType="mustAny"時のカラム名配列(ソート済み)
    変更履歴:
      4.1.2.1 (2008/03/13) interface に新規登録