パッケージ org.opengion.hayabusa.db
クラス DBTableModelImpl
java.lang.Object
org.opengion.hayabusa.db.DBTableModelImpl
- すべての実装されたインタフェース:
DataModel<String>
,DBTableModel
- 直系の既知のサブクラス:
DBTableModelEditor
,DBTableModelSorter
DBTableModel インターフェースを継承した TableModel の実装クラスです。
sql文を execute( query ) する事により、データベースを検索した結果を
DBTableModel に割り当てます。
メソッドを宣言しています
DBTableModel インターフェースは、データベースの検索結果(Resultset)をラップする
インターフェースとして使用して下さい。
- 機能分類
- テーブル管理
- 導入されたバージョン:
- JDK5.0,
-
フィールドの概要
フィールド修飾子とタイプフィールド説明protected ConcurrentMap
<String, Integer> カラムアドレスマップ情報 6.4.3.1 (2016/02/12) PMD refactoring.protected String
整合性キー(オブジェクトの作成時刻)テータリストprotected DBColumn[]
カラムオブジェクト配列protected String[]
カラム名称配列protected int
カラム数protected boolean
オーバーフローフラグprotected List
<DBRowHeader> 行ヘッダー情報インタフェースから継承されたフィールド org.opengion.fukurou.model.DataModel
DELETE_TYPE, INSERT_TYPE, UPDATE_TYPE
インタフェースから継承されたフィールド org.opengion.hayabusa.db.DBTableModel
DEFAULT_CHECKED, DEFAULT_WRITABLE
-
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明void
addColumnValues
(String[] values) row あるセルの属性値配列を追加登録します。void
addColumnValues
(String[] values, String modType, boolean rw) row あるセルの属性値配列を追加登録します。void
addMustType
(int dbColumn, String type) カラム(列)にmustタイプ値を割り当てます。void
row の下に属性値配列を追加登録します。void
row の下に属性値配列を追加登録します。int[]
データが更新された行番号の配列を返します。int
データテーブル内の列の数を返します。getColumnLabel
(int column) カラムのラベル名を返します。getColumnName
(int column) カラム名を取得します。int
getColumnNo
(String columnName) カラム名をもとに、そのカラム番号を返します。int
getColumnNo
(String columnName, boolean useThrow) カラム名をもとに、そのカラム番号を返します。検索されたDBTableModelが登録時に同一かどうかを判断する為の 整合性キーを取得します。getDBColumn
(int clm) カラム(列)のカラムオブジェクトを返します。DBColumn[]
カラムオブジェクト配列を返します。getModifyType
(int aRow) row 単位に変更されたタイプ(追加/変更/削除)を返します。String[]
mustType="mustAny" 他のカラム名を、文字列配列として返します。String[]
mustType="must"時のカラム名を、文字列配列として返します。String[]
getNames()
カラム名配列を返します。getNativeType
(int clm) カラムに定義されたDBTypeよりNativeタイプを返します。int
データテーブル内の行の数を返します。getValue
(int aRow, int aColumn) row および column にあるセルの属性値をStringに変換して返します。row および columnName にあるセルの属性値をStringに変換して返します。String[]
getValues
(int aRow) row にあるセルの属性値を配列で返します。void
init
(int columnCount) このオブジェクトを初期化します。boolean
検索結果が オーバーフローしたかどうかをチェックします。boolean
isRowChecked
(int aRow) 書き込み可能な行(rowWritable == true)のチェックボックスに対して 初期値を 選択済みか、非選択済みかを返します。boolean
isRowWritable
(int aRow) 書込み許可を返します。newModel()
このオブジェクトをヘッダー部分をコピーし、データを初期化します。void
removeValue
(int aRow) 行を物理削除します。void
変更済みフラグを元に戻します。void
resetModify
(int aRow) 変更済みフラグを元に戻します。void
resetRow
(int aRow) 変更データを初期値(元の取り込んだ状態)に戻します。void
rowDelete
(int aRow) 行を削除します。void
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
column に対応した 値を登録します。void
setValueAt
(String value, int aRow, int aColumn) column および row にあるセルのオブジェクト値を設定します。void
row にあるセルのオブジェクト値を置き換えます。
-
フィールド詳細
-
dbColumns
カラムオブジェクト配列 -
names
カラム名称配列 -
data
テータリスト -
rowHeader
行ヘッダー情報 -
columnMap
カラムアドレスマップ情報 6.4.3.1 (2016/02/12) PMD refactoring. HashMap → ConcurrentHashMap に置き換え。 -
overflow
オーバーフローフラグ -
numberOfColumns
カラム数 -
consistencyKey
整合性キー(オブジェクトの作成時刻)
-
-
コンストラクタの詳細
-
DBTableModelImpl
public DBTableModelImpl()デフォルトコンストラクター- 変更履歴:
- 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
-
-
メソッドの詳細
-
init
このオブジェクトを初期化します。 指定の引数分の内部配列を作成します。- 定義:
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
このオブジェクトをヘッダー部分をコピーし、データを初期化します。 これは、カラムなどヘッダー系の情報は、元と同じオブジェクトを共有し、 データ部のみ空にした DBTableModel を作成することを意味します。 この際、consistencyKey も複写しますので、整合性は崩れないように、 データ登録を行う必要があります。- 定義:
newModel
インタフェース内DBTableModel
- 戻り値:
- DBTableModelオブジェクト
- 変更履歴:
- 4.0.0.0 (2007/06/28) 新規作成
-
getNames
カラム名配列を返します。 -
setValue
column に対応した 値を登録します。 column には、番号ではなく、ラベルを指定します。 指定の行番号が、内部のデータ件数より多い場合は、データを追加します。- 定義:
setValue
インタフェース内DBTableModel
- パラメータ:
aRow
- 値が変更される行columnName
- 値が変更されるカラム名value
- 新しい値。null も可- 変更履歴:
- 3.1.0.0 (2003/03/20) 同期メソッド(synchronized付き)を非同期に変更する。
-
rowDelete
行を削除します。 物理削除ではなく、論理削除です。 データを取り込むことは可能です。- 定義:
rowDelete
インタフェース内DBTableModel
- パラメータ:
aRow
- 論理削除される行- 変更履歴:
- 3.1.0.0 (2003/03/20) 同期メソッド(synchronized付き)を非同期に変更する。
-
rowDelete
row にあるセルのオブジェクト値を置き換えて、行を削除します。 物理削除ではなく、論理削除です。 値を置き換えたデータを取り込むことが可能です。- 定義:
rowDelete
インタフェース内DBTableModel
- パラメータ:
values
- 新しい配列値。aRow
- 論理削除される行- 変更履歴:
- 3.5.4.2 (2003/12/15) 新規追加
-
removeValue
行を物理削除します。 メモリ上で編集する場合に使用しますが、一般アプリケーションからの 使用は、物理削除の為、お勧めいたしません。- 定義:
removeValue
インタフェース内DBTableModel
- パラメータ:
aRow
- 物理削除される行- 変更履歴:
- 3.1.0.0 (2003/03/20) 同期メソッド(synchronized付き)を非同期に変更する。
-
getColumnLabel
カラムのラベル名を返します。 カラムの項目名に対して、見える形の文字列を返します。 一般には、リソースバンドルと組合せて、各国ロケール毎にラベルを 切替えます。- 定義:
getColumnLabel
インタフェース内DBTableModel
- パラメータ:
column
- カラム番号- 戻り値:
- カラムのラベル名
-
getValue
row および column にあるセルの属性値をStringに変換して返します。 -
getValue
row および columnName にあるセルの属性値をStringに変換して返します。- 定義:
getValue
インタフェース内DBTableModel
- パラメータ:
aRow
- 値が参照される行columnName
- 値が参照されるカラム名- 戻り値:
- 指定されたセルの値 String
- 関連項目:
-
setDBColumn
カラム(列)にカラムオブジェクトを割り当てます。 カラムオブジェクトは、ラベルやネームなど、そのカラム情報を 保持したオブジェクトです。- 定義:
setDBColumn
インタフェース内DBTableModel
- パラメータ:
clm
- ヘッダーを適応するカラム(列)dbColumn
- カラムオブジェクト- 変更履歴:
- 3.1.0.0 (2003/03/20) 同期メソッド(synchronized付き)を非同期に変更する。
-
getDBColumn
カラム(列)のカラムオブジェクトを返します。 カラムオブジェクトは、ラベルやネームなど、そのカラム情報を 保持したオブジェクトです。- 定義:
getDBColumn
インタフェース内DBTableModel
- パラメータ:
clm
- ヘッダーを適応するカラム(列)- 戻り値:
- カラムオブジェクト
-
getDBColumns
カラムオブジェクト配列を返します。 カラムオブジェクトは、ラベルやネームなど、そのカラム情報を 保持したオブジェクトです。- 定義:
getDBColumns
インタフェース内DBTableModel
- 戻り値:
- カラムオブジェクト配列
- 変更履歴:
- 4.0.0.0 (2005/12/31) 新規追加
-
getColumnNo
カラム名をもとに、そのカラム番号を返します。 カラム名が存在しない場合は、 HybsSystemException を throw します。- 定義:
getColumnNo
インタフェース内DataModel<String>
- パラメータ:
columnName
- カラム名- 戻り値:
- カラム番号
- 関連項目:
-
getColumnNo
カラム名をもとに、そのカラム番号を返します。 useThrow が、true の場合は、カラム名が存在しない場合は、 HybsSystemException を throw します。useThrow が、false の場合は、カラム名が存在しない場合は、 -1 を返します。- 定義:
getColumnNo
インタフェース内DBTableModel
- パラメータ:
columnName
- カラム名useThrow
- カラム名が存在しない場合に、Exception を throw するかどうか- 戻り値:
- カラム番号
- 関連項目:
- 変更履歴:
- 4.0.0.0 (2005/12/31) 新規追加
-
addValues
row の下に属性値配列を追加登録します。- 定義:
addValues
インタフェース内DBTableModel
- パラメータ:
values
- 属性値配列aRow
- 値が参照される行- 変更履歴:
- 3.1.0.0 (2003/03/20) 同期メソッド(synchronized付き)を非同期に変更する。
-
addValues
row の下に属性値配列を追加登録します。 isWritableをfalseにした場合、編集不可能な状態で追加されます。- 定義:
addValues
インタフェース内DBTableModel
- パラメータ:
values
- 属性値配列aRow
- 値が参照される行isWritable
- 編集不可能な状態で追加するか- 変更履歴:
- 4.3.1.0 (2008/09/04) interface に新規登録
-
addColumnValues
row あるセルの属性値配列を追加登録します。 これは、初期登録時のみに使用します。- 定義:
addColumnValues
インタフェース内DBTableModel
- パラメータ:
values
- 属性値配列- 変更履歴:
- 3.1.0.0 (2003/03/20) 同期メソッド(synchronized付き)を非同期に変更する。
-
addColumnValues
row あるセルの属性値配列を追加登録します。 これは、初期登録時のみに使用します。 このメソッドでは、同時に、変更タイプ と、書込み許可を指定できます。- 定義:
addColumnValues
インタフェース内DBTableModel
- パラメータ:
values
- 属性値配列modType
- 変更タイプ(追加/変更/削除)rw
- 書込み可能(true)/不可能(false)- 変更履歴:
- 6.2.2.0 (2015/03/27) interface に変更タイプ と、書込み許可を追加
-
getColumnName
カラム名を取得します。- 定義:
getColumnName
インタフェース内DBTableModel
- パラメータ:
column
- 最初のカラムは 0、2番目のカラムは 1、などとする。- 戻り値:
- カラム名
-
getColumnCount
データテーブル内の列の数を返します。- 定義:
getColumnCount
インタフェース内DBTableModel
- 戻り値:
- モデルの列数
-
getRowCount
データテーブル内の行の数を返します。- 定義:
getRowCount
インタフェース内DataModel<String>
- 戻り値:
- モデルの行数
-
setValueAt
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
row にあるセルの属性値を配列で返します。 -
setValues
row にあるセルのオブジェクト値を置き換えます。 -
resetModify
変更済みフラグを元に戻します。- 定義:
resetModify
インタフェース内DBTableModel
- 変更履歴:
- 3.1.0.0 (2003/03/20) 同期メソッド(synchronized付き)を非同期に変更する。 一般には、データベースにテーブルモデルを登録するタイミングで、 変更済みフラグを元に戻します。
-
resetModify
変更済みフラグを元に戻します。 一般には、データベースにテーブルモデルを登録するタイミングで、 変更済みフラグを元に戻します。- 定義:
resetModify
インタフェース内DBTableModel
- パラメータ:
aRow
- 値が参照される行- 変更履歴:
- 3.1.0.0 (2003/03/20) 同期メソッド(synchronized付き)を非同期に変更する。
-
getModifyType
row 単位に変更されたタイプ(追加/変更/削除)を返します。 タイプは始めに一度登録するとそれ以降に変更はかかりません。 つまり、始めに 追加で作成したデータは、その後変更があっても追加のままです。 なにも変更されていない場合は、""(ゼロストリング)を返します。- 定義:
getModifyType
インタフェース内DataModel<String>
- パラメータ:
aRow
- 値が参照される行- 戻り値:
- 変更されたタイプの値 String
-
setModifyType
row 単位に変更タイプ(追加/変更/削除)をセットします。 このメソッドでは、データのバックアップは取りません。 タイプは始めに一度登録するとそれ以降に変更はかかりません。 なにも変更されていない場合は、""(ゼロストリング)の状態です。- 定義:
setModifyType
インタフェース内DataModel<String>
- パラメータ:
aRow
- 値が参照される行modType
- 変更タイプ(追加/変更/削除)
-
setRowHeader
row 単位に変更タイプ(追加/変更/削除)をセットします。 セットすると同時に、データのバックアップを取ります。 タイプは始めに一度登録するとそれ以降に変更はかかりません。 つまり、始めに 追加で作成したデータは、その後変更があっても追加のままです。 なにも変更されていない場合は、""(ゼロストリング)の状態です。- パラメータ:
aRow
- 値が参照される行modType
- 変更タイプ(追加/変更/削除)- 変更履歴:
- 3.5.6.0 (2004/06/18) setBackupData 側で 配列をコピーしているため、こちらでは不要。, 3.5.6.4 (2004/07/16) protected 化します。
-
resetRow
変更データを初期値(元の取り込んだ状態)に戻します。 変更タイプ(追加/変更/削除)に応じて、処理されます。 追加時は、追加された行を削除します。 変更時は、変更された行を元に戻します。 削除時は、削除フラグを解除します。 それ以外の場合(変更されていない場合)は、なにもしません。- 定義:
resetRow
インタフェース内DBTableModel
- パラメータ:
aRow
- 処理を戻す(取り消す)行- 変更履歴:
- 3.1.0.0 (2003/03/20) 同期メソッド(synchronized付き)を非同期に変更する。, 3.5.4.2 (2003/12/15) "DELETE" 時に値を置き換えた場合にUPDATEと同様に戻します。
-
getChangeRowNos
データが更新された行番号の配列を返します。 これは、変更があったデータの行番号の配列をピックアップします。- 定義:
getChangeRowNos
インタフェース内DBTableModel
- 戻り値:
- 行番号の配列
- 変更履歴:
- 7.4.2.0 (2021/04/30) 変更があったデータのみを処理するかどうか[true/false]を指定します(初期値:false)
-
isRowWritable
書込み許可を返します。- 定義:
isRowWritable
インタフェース内DBTableModel
- パラメータ:
aRow
- 値が参照される行- 戻り値:
- 書込み可能(true)/不可能(false)
-
setRowWritable
行が書き込み可能かどうかをセットします。 デフォルト/およびなにも設定しない場合は、DEFAULT_WRITABLE が 与えられています。 これが true の場合は、書込み許可です。(チェックボックスを表示) false の場合は、書込み不許可(チェックボックスは表示されません。)- 定義:
setRowWritable
インタフェース内DBTableModel
- パラメータ:
aRow
- 値が参照される行rw
- 書込み可能(true)/不可能(false)- 変更履歴:
- 3.1.0.0 (2003/03/20) 同期メソッド(synchronized付き)を非同期に変更する。
-
isRowChecked
書き込み可能な行(rowWritable == true)のチェックボックスに対して 初期値を 選択済みか、非選択済みかを返します。- 定義:
isRowChecked
インタフェース内DBTableModel
- パラメータ:
aRow
- 値が参照される行- 戻り値:
- 初期値チェックON(true)/チェックOFF(false)
-
setRowChecked
書き込み可能な行(rowWritable == true)のチェックボックスに対して 初期値を 選択済みにするか、非選択済みにするかを指定します。- 定義:
setRowChecked
インタフェース内DBTableModel
- パラメータ:
aRow
- 値が参照される行rw
- チェックON(true)/チェックOFF(false)- 変更履歴:
- 3.1.0.0 (2003/03/20) 同期メソッド(synchronized付き)を非同期に変更する。
-
setDefaultRowWritable
行指定の書込み許可を与えます。 具体的には、チェックボックスの表示/非表示を指定します。 これが true の場合は、書込み許可です。(チェックボックスを表示) false の場合は、書込み不許可(チェックボックスは表示されません。) 行毎に書込み許可/不許可を指定する場合は、1カラム目に writable カラムを用意して true/false を指定します。 この writable カラムとの論理積により最終的にチェックボックスの 表示の ON/OFF が決まります。 なにも設定しない場合は、ViewForm.DEFAULT_WRITABLE が設定されます。- 定義:
setDefaultRowWritable
インタフェース内DBTableModel
- パラメータ:
rw
- 書込み可能(true)/不可能(false)
-
setDefaultRowChecked
書き込み可能な行(rowWritable == true)のチェックボックスに対して 初期値を 選択済みにするか、非選択済みにするかを指定します。- 定義:
setDefaultRowChecked
インタフェース内DBTableModel
- パラメータ:
rw
- 選択状態(true)/非選択状態(false)
-
isOverflow
検索結果が オーバーフローしたかどうかをチェックします。 Query で検索した場合に、DB_MAX_ROW_COUNT または、Query.setMaxRowCount( int maxRowCount ) で指定された値よりも検索結果が多い場合に、DBTableModel は、先の設定値までの データを取り込みます。そのときに、オーバーフローフラグを立てておくことで、最大件数を オーバーしたかどうかを判断します。- 定義:
isOverflow
インタフェース内DBTableModel
- 戻り値:
- オーバーフロー(true)/正常(false)
-
setOverflow
検索結果が オーバーフローしたかどうかを設定します。 Query で検索した場合に、DB_MAX_ROW_COUNT または、Query.setMaxRowCount( int maxRowCount ) で指定された値よりも検索結果が多い場合に、DBTableModel は、先の設定値までの データを取り込みます。そのときに、オーバーフローフラグを立てておくことで、最大件数を オーバーしたかどうかを判断します。- 定義:
setOverflow
インタフェース内DBTableModel
- パラメータ:
of
- オーバーフロー(true)/正常(false)
-
getConsistencyKey
検索されたDBTableModelが登録時に同一かどうかを判断する為の 整合性キーを取得します。 ここでの整合性は、同一セッション(ユーザー)毎にユニークかどうかで対応します。 分散環境(複数のセッション間)での整合性は、確保できません。 整合性キー は、オブジェクト作成時刻としますが、将来変更される可能性があります。- 定義:
getConsistencyKey
インタフェース内DBTableModel
- 戻り値:
- 整合性キー(オブジェクトの作成時刻)
- 変更履歴:
- 3.5.5.5 (2004/04/23) 新規追加
-
getNativeType
カラムに定義されたDBTypeよりNativeタイプを返します。 Nativeタイプはorg.opengion.fukurou.model.NativeTypeで定義されています。- 定義:
getNativeType
インタフェース内DataModel<String>
- パラメータ:
clm
- 値が参照される列- 戻り値:
- Nativeタイプ
- 関連項目:
- 変更履歴:
- 4.1.1.2 (2008/02/28) 新規追加
-
addMustType
カラム(列)に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
mustType="must"時のカラム名を、文字列配列として返します。 この値は、columnCheck 時の nullCheck のチェック対象カラムとして 認識されます。 カラム名配列は、ソート済みです。- 定義:
getMustArray
インタフェース内DBTableModel
- 戻り値:
- mustType="must"時のカラム名配列(ソート済み)
- 変更履歴:
- 4.1.2.1 (2008/03/13) interface に新規登録
-
getMustAnyArray
mustType="mustAny" 他のカラム名を、文字列配列として返します。 この値は、columnCheck 時の mustAnyCheck のチェック対象カラムとして 認識されます。 カラム名配列は、ソート済みです。- 定義:
getMustAnyArray
インタフェース内DBTableModel
- 戻り値:
- mustType="mustAny"時のカラム名配列(ソート済み)
- 変更履歴:
- 4.1.2.1 (2008/03/13) interface に新規登録
-