パッケージ 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 -
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明voidaddColumnValues(String[] values) row あるセルの属性値配列を追加登録します。voidaddColumnValues(String[] values, String modType, boolean rw) row あるセルの属性値配列を追加登録します。voidaddMustType(int dbColumn, String type) カラム(列)にmustタイプ値を割り当てます。voidrow の下に属性値配列を追加登録します。voidrow の下に属性値配列を追加登録します。int[]データが更新された行番号の配列を返します。intデータテーブル内の列の数を返します。getColumnLabel(int column) カラムのラベル名を返します。getColumnName(int column) カラム名を取得します。intgetColumnNo(String columnName) カラム名をもとに、そのカラム番号を返します。intgetColumnNo(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 にあるセルの属性値を配列で返します。voidinit(int columnCount) このオブジェクトを初期化します。boolean検索結果が オーバーフローしたかどうかをチェックします。booleanisRowChecked(int aRow) 書き込み可能な行(rowWritable == true)のチェックボックスに対して 初期値を 選択済みか、非選択済みかを返します。booleanisRowWritable(int aRow) 書込み許可を返します。newModel()このオブジェクトをヘッダー部分をコピーし、データを初期化します。voidremoveValue(int aRow) 行を物理削除します。void変更済みフラグを元に戻します。voidresetModify(int aRow) 変更済みフラグを元に戻します。voidresetRow(int aRow) 変更データを初期値(元の取り込んだ状態)に戻します。voidrowDelete(int aRow) 行を削除します。voidrow にあるセルのオブジェクト値を置き換えて、行を削除します。voidsetDBColumn(int clm, DBColumn dbColumn) カラム(列)にカラムオブジェクトを割り当てます。voidsetDefaultRowChecked(boolean rw) 書き込み可能な行(rowWritable == true)のチェックボックスに対して 初期値を 選択済みにするか、非選択済みにするかを指定します。voidsetDefaultRowWritable(boolean rw) 行指定の書込み許可を与えます。voidsetModifyType(int aRow, String modType) row 単位に変更タイプ(追加/変更/削除)をセットします。voidsetOverflow(boolean of) 検索結果が オーバーフローしたかどうかを設定します。voidsetRowChecked(int aRow, boolean rw) 書き込み可能な行(rowWritable == true)のチェックボックスに対して 初期値を 選択済みにするか、非選択済みにするかを指定します。protected voidsetRowHeader(int aRow, String modType) row 単位に変更タイプ(追加/変更/削除)をセットします。voidsetRowWritable(int aRow, boolean rw) 行が書き込み可能かどうかをセットします。voidcolumn に対応した 値を登録します。voidsetValueAt(String value, int aRow, int aColumn) column および row にあるセルのオブジェクト値を設定します。voidrow にあるセルのオブジェクト値を置き換えます。
-
フィールド詳細
-
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 に新規登録
-