jp.littlesoft.data
クラス Table<E extends Serializable>

java.lang.Object
  上位を拡張 jp.littlesoft.data.Table<E>
すべての実装されたインタフェース:
Serializable, Cloneable
直系の既知のサブクラス:
SQLTableSequentialReadOnly, TextTable, WebDataTable

public class Table<E extends Serializable>
extends Object
implements Cloneable, Serializable

表データクラス。

表構造のデータを格納する為のオブジェクトです。
単純な2次元配列と異なる点は、データ項目の型や、その他の属性をColumnクラスによって定義できる点です。
また、データ項目値の設定、取得の他、行の追加、削除、並び替え、フィルタなど数多くのメソッドが用意されています。

バージョン:
1.3.0
作成者:
LittleSoft Corporation
関連項目:
Column, Params, 直列化された形式

入れ子のクラスの概要
static class Table.SortKey
          SortKeyクラス。
 
フィールドの概要
protected  Params<E> _params
          表に付属するパラメータを格納する Params オブジェクトです。
 E $$
          エンティティのダミーオブジェクト.
protected  boolean active
          Table オブジェクトの状態を表します。
protected  IndexedMap<String,Column> columns
          Column オブジェクトの集合です。
 E entity
          カーソル行のエンティティオブジェクトへのショートカット.
 E params
          パラメータとして使用するエンティティオブジェクト.
 
コンストラクタの概要
Table(E... e)
          Table オブジェクトを生成します.
 
メソッドの概要
 void activate()
          Table オブジェクトをアクティブ化します。
 void addChangeListener(ChangeListener l)
          Table オブジェクトへの変更を監視する ChangeListener オブジェクトを登録します。
 void addColumn(Column column)
          カラムの追加(作成したオブジェクトを登録)します。
 Column addColumn(String fieldName)
          カラムの追加(名前で作成)します。
 Column addColumn(String fieldName, Column.Type type)
          カラムの追加(名前とタイプを指定して作成)します。
 void addColumns(String[] names)
          カラムの追加(名前配列で作成)します。
 void addTableListener(TableListener l)
          TableListenerの登録します。
 Collection<E> allEntities()
          内部にある全てのエンティティオブジェクトのコレクションを取得します。
 Collection<Row<E>> allRows()
          内部にある全ての行オブジェクトのコレクションを取得します。
 Row<E> appendRow()
          行を追加します。
 Row<E> appendRow(E entity)
          行を追加します。
 void applyFilter()
          Tableにフィルターを適用する指示を行います。
 void applySortFilter(Table.SortKey[] sortKeys)
          Tableにフィルターを適用する指示を行うと同時にその結果をソートします。
 void cancelUpdates(boolean initial)
          行に対する変更、行追加をキャンセルします。
protected  void checkActive()
          Table オブジェクトの状態チェックし、アクティブでなかったらアクティブ化します。
protected  void checkDeactive()
          アクティブ時にしてはいけない事をした場合の例外処理を実装します。
 int[] checkDuplicate(String[] columnNameArray)
          指定したColumnの重複値チェックを行います。
 int[] checkDuplicate(String[] columnNameArray, int rowIndex)
          指定したColumnの重複値チェックを行います。
 boolean checkMoreRow(boolean toLast)
          追加行が存在するかどうかを調べます。
 void clearColumns()
          全カラムを削除します。
 void deleteAllRows()
          すべての行を削除します。
 void deleteRow()
          現在行を削除します。
protected  void doLoadData()
          データのロードを行います。
protected  void doSetupColumn(IndexedMap<String,Column> fields)
          DataFieldのセットアップを行います。
protected  void fireAfterSetValue(ChangeEvent e)
          項目値更新直後イベントを送出します。
protected  void fireBeforeSetValue(ChangeEvent e)
          項目値更新直前イベントを送出します。
 void fireDataChanged(TableEvent<E> e, TableEvent.Operation operation)
          DataChangeイベントの送出をします。
protected  void fireOnActivate(ChangeEvent e)
          アクティブ化イベントを送出します。
protected  void fireOnColumnSetup(ChangeEvent e)
          フィールド構築イベントを送出します。
protected  void fireOnPassivate(ChangeEvent e)
          非アクティブ化イベントを送出します。
 void fireRowDeleting(TableEvent<E> e)
          rowDeletingイベントを送出します。
 boolean fireRowFiltering(TableEvent<E> e)
          rowFilteringイベントを送出します。
 void fireRowValidating(TableEvent<E> e)
          rowValidatingイベントを送出します。
 boolean first()
          行カーソルを先頭に移動します。
 int getAllRowCount()
          全体の行数を取得します。
 Class[] getCaptionResource()
          列の見出し(Columnクラスのcaptionプロパティ)に設定するリソースクラスの配列を取得します。
 String getCharsetForCheckingLength()
          文字列項目の長さチェックを行う際の文字コードセット名を取得します。
 Column getColumn(int index)
          引数 index で指定された列インデックスから Column オブジェクトを取得します。
 Column getColumn(Object $dummyFiled)
           
 Column getColumn(String columnName)
          引数 columnName で指定されたカラム名から Column オブジェクトを取得します。
 Column getColumn(String columnName, boolean returnNull)
          引数 columnName で指定されたカラム名から Column オブジェクトを取得します。
 Column[] getColumnArray()
          Column オブジェクトを配列で取得します。
 int getColumnCount()
          フィールド数を取得します。
 IndexedMap<String,Column> getColumns()
          Row オブジェクト構造を定義するカラム集合を取得します。
 DataProvider getDataProvider()
          表にデータを供給する DataProvider オブジェクトを取得します。
 DataResolver getDataResolver()
          表のデータをDBや外部ファイルに書き出す DataResolver オブジェクトを取得します。
 E getEntity()
          カーソル行のエンティティオブジェクトを取得します。
 E getEntity(int rowIndex)
          引数 rowIndex にカーソルを移動し、エンティティオブジェクトを取得します。
 Class<E> getEntityType()
          データ値を格納するクラスを指定します。
 String getName()
          Table オブジェクトの名称を取得します。
 boolean[] getNullables()
          Nullable属性の配列を取得します。
 Params<E> getParams()
          パラメータセットを取得します。
 Row<E> getRow()
          カーソル行の Row オブジェクトを取得します。
 Row<E> getRow(int rowIndex)
          引数 rowIndex で指定された Row オブジェクトを取得します。
 int getRowCount()
          行数を取得します。
 Row.RowID getRowID(int rowIndex)
          行インデックスを指定して、RowIDを取得します。
 int getRowIndex()
          現在の行カーソル位置を取得します。
 Table.SortKey[] getSortKeys()
          ソート用のフィールド名配列を取得します。
 boolean inBounds()
          行カーソルが有効範囲内にあるかどうか調べます。
 int indexOf(E entity)
          エンティティオブジェクトの行インデックスを取得します.
 int indexOf(Row<E> row)
          Rowオブジェクトの行インデックスを取得します.
 int indexOfColumn(Column column)
          指定した列オブジェクトのインデックスを取得します。
 int indexOfColumn(String columnName)
          引数 columnName で指定されたフィールド名から列インデックスを取得します。
 int indexOfDBColumnName(String name)
          指定した列のデータベース項目名(DBColumnName)でインデックスを取得します。
 int indexOfRow(Row<E> row)
          指定した行オブジェクトのインデックスを取得します。
 Row<E> insertRow(int index)
          行を挿入します。
 Row<E> insertRow(int index, E entity)
          エンティティオブジェクトを行を挿入します。
protected  void internalFree()
          deActiveの時の後始末を行います。
 boolean internalMoveTo(int index)
          引数 index で指定されたインデックスへ行カーソルを移動します。
protected  void internalOnActivate()
          アクティブ時の内部設定を実装します。
 Row.RowID internalPut(Row<E> row)
          行オブジェクトを内部テーブルに登録します。
 boolean internalPut(Row<E> row, boolean visible, boolean insert)
          自分が使う行テーブルの登録します。
 void internalRemove(Row.RowID rowID)
          RowIDを指定して内部テーブルから行オブジェクトを削除します。
protected  void internalSetup()
          内部データのセットアップします。
 boolean isActive()
          Table オブジェクトがアクティブ化された状態かどうか調べます。
 boolean isApplyFilter()
          フィルターが適用中であるかどうかを取得します。
 boolean isHasMoreRow()
          setMaxRowsで設定した件数よりも実際に発行したSQLで取得できるレコードが存在するか否かを取得します。
 boolean isTypedRow()
           
 boolean last()
          行カーソルを最終行へ移動します。
 boolean moveTo(int index)
          引数 index で指定されたインデックスへ行カーソルを移動します。
 boolean next()
          行カーソルを1行次へ移動します。
 void passivate()
          Table オブジェクトを非アクティブ化します。
 boolean previous()
          行カーソルを1行前へ移動します。
 void releaseFilter()
          Tableにフィルターを解除する指示を行います。
 void releaseFilter(boolean doneFilter)
          Tableにフィルターを解除する指示を行います。
 void removeChangeListener(ChangeListener l)
          Table オブジェクトへの変更を監視する ChangeListener オブジェクトを削除します。
 void removeColumn(Column column)
          引数 column で指定されたフィールドを削除します。
 void removeTableListener(TableListener l)
          TableListenerの削除します。
 void resolveChanges()
          Table オブジェクトの変更内容をDBや外部ファイルに書き出します。
protected  void setActive(boolean activation)
          Table オブジェクトの状態を設定します。
 void setAllRowCount(int count)
          全体の行数を設定します。
 void setCaptionResource(Class captionResource)
          列の見出し(Columnクラスのcaptionプロパティ)に設定するリソースクラスを設定します。
 void setCaptionResource(Class[] captionResource)
          列の見出し(Columnクラスのcaptionプロパティ)に設定するリソースクラスの配列を設定します。
 void setCharsetForCheckingLength(String charsetForCheckingLength)
          文字列項目の長さチェックを行う際の文字コードセット名を設定します。
 void setDataProvider(DataProvider dataProvider)
          表にデータを供給する DataProvider オブジェクトを設定します。
 void setDataResolver(DataResolver dataResolver)
          表のデータをDBや外部ファイルに書き出す DataResolver オブジェクトを設定します。
 void setEntityType(Class<E> entityType)
           
 void setHasMoreRow(boolean hasMoreRow)
          setMaxRowsで設定した件数よりも実際に発行したSQLで取得できるレコードが存在するか否かを設定します。
 void setName(String name)
          Table オブジェクトの名前を設定します。
 void setNullableAll(boolean nullable)
          引数 nullable で指定されたNullable属性を全てのフィールドに設定します。
 void setNullables(boolean[] nullables)
          引数 nullables で指定されたNullable属性の配列を設定します。
 void setSortKeys(Table.SortKey... sortKeys)
          ソートキー配列を設定します。
 void sortRows()
          前回と同じソート順序で、ソートをやり直します。
 void sortRows(String columnName)
          引数 columnName で指定された列名の値により、行の並び替えを行います。
 void sortRows(Table.SortKey... sortKey)
          引数 sortKeyで指定された順序で行データを並び替えます。
 E startEditing()
          カーソル行のエンティティオブジェクトを編集・更新可能な状態にします。
 void startEditing(E entity)
          指定されたエンティティオブジェクトを編集・更新可能な状態にします。
 void validate()
          カーソルのエンティティオブジェクトをチェックし、問題がなければ値を受け入れます.
 void validate(E entity)
          内容が編集・更新されたエンティティオブジェクトをチェックし、問題がなければ値を受け入れます.
 void validateAllRows()
          テーブルオブジェクトに含まれる全ての行を検証し、編集内容を確定します。
 EntityList<E> visibleEntities()
          可視行のエンティティオブジェクトのコレクションを取得します。
 Collection<Row<E>> visibleRows()
          可視行オブジェクトのコレクションを取得します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

columns

protected final IndexedMap<String,Column> columns
Column オブジェクトの集合です。


active

protected boolean active
Table オブジェクトの状態を表します。

True:アクティブ状態、False:非アクティブ状態


_params

protected Params<E extends Serializable> _params
表に付属するパラメータを格納する Params オブジェクトです。


params

public E extends Serializable params
パラメータとして使用するエンティティオブジェクト.
getParams().getEntity()でアクセスできるオブジェクトと同じものです.
エンティティの型を指定しないテーブルオブジェクトでは、nullです。


$$

public E extends Serializable $$
エンティティのダミーオブジェクト.
SQLオブジェクトを利用して、SQL文を構築する際に利用します。
[ex.]
 employee.select().
   where(employee.$$.deptCode).is(new Long(25)).z.
   orderBy(employee.$$.name)....
※エンティティの型を指定しない場合は、nullです。


entity

public E extends Serializable entity
カーソル行のエンティティオブジェクトへのショートカット.
table.getEntity();
で取得できるオブジェクトと同じ内容です。

コンストラクタの詳細

Table

public Table(E... e)
Table オブジェクトを生成します.

以下のように、エンティティオブジェクトの型を指定してテーブルオブジェクトに作成します.
Table employee = new Table();

これによりgetEntity()メソッドで、エンティティオブジェクトへアクセスできるようになります。

メソッドの詳細

isTypedRow

public boolean isTypedRow()

activate

public void activate()
              throws DataException
Table オブジェクトをアクティブ化します。

例外:
DataException - 例外発生時

addChangeListener

public void addChangeListener(ChangeListener l)
Table オブジェクトへの変更を監視する ChangeListener オブジェクトを登録します。

パラメータ:
l - ChangeListener オブジェクト

addColumn

public void addColumn(Column column)
               throws DataException
カラムの追加(作成したオブジェクトを登録)します。

パラメータ:
column - Column オブジェクト
例外:
DataException - 例外発生時

addColumn

public Column addColumn(String fieldName)
                 throws DataException
カラムの追加(名前で作成)します。

パラメータ:
fieldName - DataField名
戻り値:
Column オブジェクト
例外:
DataException - 例外発生時

addColumn

public Column addColumn(String fieldName,
                        Column.Type type)
                 throws DataException
カラムの追加(名前とタイプを指定して作成)します。

パラメータ:
fieldName - DataField名
type - タイプ
戻り値:
Column オブジェクト
例外:
DataException - 例外発生時

addColumns

public void addColumns(String[] names)
                throws DataException
カラムの追加(名前配列で作成)します。

パラメータ:
names - カラム名の配列
例外:
DataException - 例外発生時

addTableListener

public void addTableListener(TableListener l)
TableListenerの登録します。

パラメータ:
l - TableListenerインターフェースを実装したオブジェクト

appendRow

public Row<E> appendRow()
                                      throws DataException
行を追加します。

新規の行を追加します。
追加された行は最終行となります。 また、追加処理の完了後、行カーソルは追加された行となります。

非アクティブの状態でこのメソッドが呼ばれた場合は自動的にアクティブにします。

追加した行をデータベースに反映する前には、Row.validate() メソッドで変更を確定させる必要があります。

例外:
DataException - 例外発生時

appendRow

public Row<E> appendRow(E entity)
                                      throws DataException
行を追加します。

追加したエンティティをデータベースに反映する場合は、Row.validate(entity) メソッドで変更を確定させる必要があります。

パラメータ:
entity - エンティティオブジェクト
例外:
DataException

applyFilter

public void applyFilter()
                 throws DataException
Tableにフィルターを適用する指示を行います。

行データに対するフィルターを適用します。このメソッドを呼び出すと、TableListener objectに対しrowFilteringが通知されます。
rowFilteringはTableが所有する全ての行データに対して呼ばれます。
rowFilteringの戻り値としてtrueが返されるとその行データは表示対象となります。

TableListener側では以下の様なコード実装する必要があります。
   public boolean rowFiltering(TableEvent e,  Row row) {
     try {
       if (e.getSource().equals(rsList)) {
         //部門コードが"1000"だったら表示対象とします。
         return "1000".equals(row.getValueAsString("BUMON_CODE"));
       } else {
         return true;
       }
     } catch (Exception x) {
       x.printStackTrace();
     }
     return true;
   }
 
※注意: applyFilterを使用しフィルタリングされた行の並び順は、行が登録された順番になります。
並び順を指定して行をフィルタリングしたい場合は、applySortFilterを使用してください。

例外:
DataException - フィルター適用時に発生した例外

applySortFilter

public void applySortFilter(Table.SortKey[] sortKeys)
                     throws DataException
Tableにフィルターを適用する指示を行うと同時にその結果をソートします。

フィルター結果を一定の順序で並べ替える際は当メソッドを使用してください。

パラメータ:
sortKeys - 並び替えを行うソートキー配列
例外:
DataException - フィルター適用時に発生した例外

cancelUpdates

public void cancelUpdates(boolean initial)
                   throws DataException
行に対する変更、行追加をキャンセルします。

[initialパラメータ:trueの場合]
全ての行をデータベース等から読み込まれた時点の内容に復元します。
行が新規作成されたものである場合は、作成された時点の内容に復元します。
削除された行(DELETED)も元の状態に復元させることが出来ます。
[initialパラメータ:falseの場合]
全ての行を前回validateした直後の内容に復元します。
このオプションは、行の状態がRow.Status.UPDATING,CREATING(行の編集中)の場合のみ有効で、 UPDATED,CREATED,DELETED(編集完了)の場合は、何の効果もありません。 validateした回数が1回以下の場合は、[パラメータ:true]の結果と同じになります。

パラメータ:
initial - true:
例外:
DataException - 例外発生時

checkActive

protected void checkActive()
                    throws DataException
Table オブジェクトの状態チェックし、アクティブでなかったらアクティブ化します。

例外:
DataException - 例外発生時

checkDeactive

protected void checkDeactive()
                      throws DataException
アクティブ時にしてはいけない事をした場合の例外処理を実装します。

アクティブではないことを前提にした処理を始める前にこのメソッドが呼ばれます。
このメソッドではアクティブかどうかを調べ、アクティブなら例外が発生します。

例外:
DataException - アクティブ時にしてはいけない事をした場合

checkDuplicate

public int[] checkDuplicate(String[] columnNameArray)
                     throws DataException
指定したColumnの重複値チェックを行います。

Column名配列で指定された行の値をチェックし、重複する値をもつ行のインデックスを返します。
重複が検出された時点でチェックを中止するので、全てを一度にチェックする事はできません。

パラメータ:
columnNameArray - チェックするColumn名配列
戻り値:
重複する値をもつ行のインデックス配列(重複が検出されない場合nullが返される)
[0],[1]に重複があった行インデックスが格納されます。
例外:
DataException - 例外発生時

checkDuplicate

public int[] checkDuplicate(String[] columnNameArray,
                            int rowIndex)
                     throws DataException
指定したColumnの重複値チェックを行います。

Column名配列で指定された行の値をチェックし、重複する値をもつ行のインデックスを返します。
重複が検出された時点でチェックを中止するので、全てを一度にチェックする事はできません。

全ての重複行を取得するには、rowIndexを変えながら、繰り返し呼び出してください。
   String[] columnNames = new String[]{"COL1"};
   int rowIndex = 0;
   int[] results;
   while (true) {
     results = dataTable.checkDuplicate(columnNames, rowIndex);
     if (results == null) break;
     System.out.println(results[0] + " & " + results[1] + " rows are duplicated.");
     rowIndex = results[0] + 1; 
   };
 

パラメータ:
columnNameArray - チェックするColumn名配列
rowIndex - 重複値チェックを開始する行インデックス
戻り値:
重複する値をもつ行のインデックス配列(重複が検出されない場合nullが返される)
[0],[1]に重複があった行インデックスが格納されます。
例外:
DataException - 例外発生時

checkMoreRow

public boolean checkMoreRow(boolean toLast)
                     throws DataException
追加行が存在するかどうかを調べます。

パラメータ:
toLast - True:最終行まで調べる、False:最終行まで調べない
戻り値:
True:追加行が存在する、False:存在しない
例外:
DataException - 例外発生時

deleteAllRows

public void deleteAllRows()
                   throws DataException
すべての行を削除します。

当オブジェクトが所有する全ての行データを削除します。

例外:
DataException - 例外発生時

deleteRow

public void deleteRow()
               throws DataException
現在行を削除します。

現在行カーソルが位置している行を削除します。
同時に行カーソルは次の行へ送られます。最終行が削除された場合、行カーソルは新たな最終行にとどまります。

例外:
DataException - 例外発生時

doLoadData

protected void doLoadData()
                   throws DataException
データのロードを行います。

このメソッドの処理は空です。

例外:
DataException - 例外発生時

doSetupColumn

protected void doSetupColumn(IndexedMap<String,Column> fields)
                      throws DataException
DataFieldのセットアップを行います。

このメソッドの処理は空です。

パラメータ:
fields - ColumnMap
例外:
DataException - 例外発生時

fireAfterSetValue

protected void fireAfterSetValue(ChangeEvent e)
項目値更新直後イベントを送出します。

パラメータ:
e - ChangeEvent オブジェクト

fireBeforeSetValue

protected void fireBeforeSetValue(ChangeEvent e)
                           throws Exception
項目値更新直前イベントを送出します。

パラメータ:
e - ChangeEvent オブジェクト
例外:
Exception - 例外発生時

fireDataChanged

public void fireDataChanged(TableEvent<E> e,
                            TableEvent.Operation operation)
DataChangeイベントの送出をします。

パラメータ:
e - TableEvent
operation - オペレーション(TableEventの定数)

fireOnActivate

protected void fireOnActivate(ChangeEvent e)
                       throws Exception
アクティブ化イベントを送出します。

パラメータ:
e - ChangeEvent オブジェクト
例外:
Exception - 例外発生時

fireOnColumnSetup

protected void fireOnColumnSetup(ChangeEvent e)
フィールド構築イベントを送出します。

パラメータ:
e - ChangeEvent オブジェクト

fireOnPassivate

protected void fireOnPassivate(ChangeEvent e)
非アクティブ化イベントを送出します。

パラメータ:
e - ChangeEvent オブジェクト

fireRowDeleting

public void fireRowDeleting(TableEvent<E> e)
                     throws DataException
rowDeletingイベントを送出します。

パラメータ:
e - TableEvent
例外:
Exception - 例外発生時
DataException

fireRowFiltering

public boolean fireRowFiltering(TableEvent<E> e)
rowFilteringイベントを送出します。

パラメータ:
e - イベントオブジェクト
戻り値:
boolean True:表示行に含める、False:表示行に含めない。

fireRowValidating

public void fireRowValidating(TableEvent<E> e)
                       throws Exception
rowValidatingイベントを送出します。

パラメータ:
e - TableEvent
例外:
Exception - 例外発生時

first

public boolean first()
              throws DataException
行カーソルを先頭に移動します。

戻り値:
True:行の移動に成功した、False:失敗した
例外:
DataException - 例外発生時

allRows

public final Collection<Row<E>> allRows()
内部にある全ての行オブジェクトのコレクションを取得します。
削除された行、フィルターで除外された行など、全ての行オブジェクトが含まれます。

戻り値:
java.util.Collection

allEntities

public final Collection<E> allEntities()
内部にある全てのエンティティオブジェクトのコレクションを取得します。
削除されたもの行、フィルターで除外されたものなど、全てのエンティティオブジェクトが含まれます。

戻り値:
java.util.Collection

visibleRows

public final Collection<Row<E>> visibleRows()
可視行オブジェクトのコレクションを取得します。

戻り値:
java.util.Collection

visibleEntities

public final EntityList<E> visibleEntities()
可視行のエンティティオブジェクトのコレクションを取得します。

戻り値:
java.util.Collection

getCaptionResource

public Class[] getCaptionResource()
列の見出し(Columnクラスのcaptionプロパティ)に設定するリソースクラスの配列を取得します。

戻り値:
リソースクラスの配列

getColumn

public Column getColumn(Object $dummyFiled)

getColumn

public Column getColumn(int index)
引数 index で指定された列インデックスから Column オブジェクトを取得します。

パラメータ:
index - 列インデックス
戻り値:
Column オブジェクト

getColumn

public Column getColumn(String columnName)
                 throws DataException
引数 columnName で指定されたカラム名から Column オブジェクトを取得します。

パラメータ:
columnName - カラム名
戻り値:
Column オブジェクト
例外:
DataException - 指定されたcolumnNameが存在しない場合

getColumn

public Column getColumn(String columnName,
                        boolean returnNull)
引数 columnName で指定されたカラム名から Column オブジェクトを取得します。
カラムが存在しない場合、NULLを返します。

パラメータ:
columnName - カラム名
returnNull - Dummy
戻り値:
Column オブジェクト

getColumnArray

public Column[] getColumnArray()
Column オブジェクトを配列で取得します。

戻り値:
Column オブジェクトの配列

getColumnCount

public int getColumnCount()
フィールド数を取得します。

戻り値:
フィールド数

getColumns

public final IndexedMap<String,Column> getColumns()
Row オブジェクト構造を定義するカラム集合を取得します。

戻り値:
カラム集合

getDataProvider

public DataProvider getDataProvider()
表にデータを供給する DataProvider オブジェクトを取得します。

戻り値:
DataProvider オブジェクト

getDataResolver

public DataResolver getDataResolver()
表のデータをDBや外部ファイルに書き出す DataResolver オブジェクトを取得します。

戻り値:
DataResolver オブジェクト

getName

public String getName()
Table オブジェクトの名称を取得します。

戻り値:
Table オブジェクトの名称

getNullables

public boolean[] getNullables()
                       throws DataException
Nullable属性の配列を取得します。

戻り値:
各フィールドのNullable属性を格納した配列
例外:
DataException - 例外発生時

getParams

public Params<E> getParams()
パラメータセットを取得します。

戻り値:
パラメータセット

getRow

public Row<E> getRow()
                                   throws DataException
カーソル行の Row オブジェクトを取得します。

戻り値:
Row オブジェクト
例外:
DataException

getRow

public Row<E> getRow(int rowIndex)
                                   throws DataException
引数 rowIndex で指定された Row オブジェクトを取得します。

パラメータ:
rowIndex - 行インデックス
戻り値:
Row オブジェクト
例外:
DataException - 例外発生時

getEntity

public E getEntity()
                                 throws DataException
カーソル行のエンティティオブジェクトを取得します。
※このメソッドでエンティティオブジェクトを変更しても、その内容を永続化する事はできません。
永続化する場合は、getEntityForEdit()を使用してエンティティオブジェクトを取得してください。

戻り値:
エンティティオブジェクト
例外:
DataException

getEntity

public E getEntity(int rowIndex)
                                 throws DataException
引数 rowIndex にカーソルを移動し、エンティティオブジェクトを取得します。
※このメソッドでエンティティオブジェクトを変更しても、その内容を永続化する事はできません。
永続化する場合は、getEntityForEdit(rowIndex)を使用してエンティティオブジェクトを取得してください。

パラメータ:
rowIndex -
戻り値:
エンティティオブジェクト
例外:
DataException

startEditing

public E startEditing()
                                    throws DataException
カーソル行のエンティティオブジェクトを編集・更新可能な状態にします。

パラメータ:
entity -
例外:
DataException

startEditing

public void startEditing(E entity)
                  throws DataException
指定されたエンティティオブジェクトを編集・更新可能な状態にします。

パラメータ:
entity -
例外:
DataException

validate

public void validate()
              throws DataException
カーソルのエンティティオブジェクトをチェックし、問題がなければ値を受け入れます.

例外:
DataException

validate

public void validate(E entity)
              throws DataException
内容が編集・更新されたエンティティオブジェクトをチェックし、問題がなければ値を受け入れます.

パラメータ:
entity -
例外:
DataException

indexOf

public int indexOf(E entity)
エンティティオブジェクトの行インデックスを取得します.
存在しない場合は-1を返します。

パラメータ:
entity -
戻り値:

indexOf

public int indexOf(Row<E> row)
Rowオブジェクトの行インデックスを取得します.
存在しない場合は-1を返します。

パラメータ:
entity -
戻り値:

getRowCount

public int getRowCount()
行数を取得します。

行カーソルの位置づけ対象となるデータ行の数です。不可視の行、削除された行は含まれません。

戻り値:
行数

getAllRowCount

public int getAllRowCount()
全体の行数を取得します。

テーブルに分割格納されている行数ではありません。

戻り値:
全体の行数

setAllRowCount

public void setAllRowCount(int count)
全体の行数を設定します。

パラメータ:
count - 全体の行数

getRowID

public Row.RowID getRowID(int rowIndex)
                   throws DataException
行インデックスを指定して、RowIDを取得します。

各行には行インデックスとは異なる絶対的なRowIDをもちます。この値をキーに内部テーブルに登録されています。
このメソッドは上記のRowIDを取得します。

パラメータ:
rowIndex - 行インデックス
戻り値:
内部RecordId
例外:
DataException - 指定された行が存在しない

getRowIndex

public int getRowIndex()
現在の行カーソル位置を取得します。

戻り値:
現在行インデックス

getSortKeys

public Table.SortKey[] getSortKeys()
ソート用のフィールド名配列を取得します。

戻り値:
ソート用のフィールド名配列

inBounds

public boolean inBounds()
行カーソルが有効範囲内にあるかどうか調べます。

戻り値:
True:有効範囲内、False:有効範囲外

indexOfColumn

public int indexOfColumn(Column column)
指定した列オブジェクトのインデックスを取得します。

パラメータ:
column -
戻り値:
列インデックス

indexOfColumn

public int indexOfColumn(String columnName)
引数 columnName で指定されたフィールド名から列インデックスを取得します。

パラメータ:
columnName - フィールド名
戻り値:
列インデックス(存在しない場合は -1 )

indexOfDBColumnName

public int indexOfDBColumnName(String name)
指定した列のデータベース項目名(DBColumnName)でインデックスを取得します。
データベース項目名(DBColumnName)が指定されていない場合、通常の列名(Name)を検索します。

パラメータ:
name -
戻り値:
列インデックス

indexOfRow

public int indexOfRow(Row<E> row)
指定した行オブジェクトのインデックスを取得します。

パラメータ:
row - 対象の行
戻り値:
現在行インデックス

insertRow

public Row<E> insertRow(int index)
                                      throws DataException
行を挿入します。

新規の行を指定された場所に挿入します。
指定されたインデックスが負値の場合、先頭に挿入されます。 また、現在保持されている行数以上のインデックスが指定された場合、追加扱いになります。
挿入処理の完了後、行カーソルは挿入した行になります。

ColumnにDefaultValueが設定されていた場合、新規行にDefaultValueが設定されます。

非アクティブの状態でこのメソッドが呼ばれた場合は自動的にアクティブにします。

追加した行をデータベースに反映する前には、Row.validate() メソッドで変更を確定させる必要があります。

パラメータ:
index - 挿入場所を示すインデックス(先頭行は0)
例外:
DataException - 例外発生時

insertRow

public Row<E> insertRow(int index,
                        E entity)
                                      throws DataException
エンティティオブジェクトを行を挿入します。

追加したエンティティをデータベースに反映する場合は、Row.validate(entity) メソッドで変更を確定させる必要があります。

パラメータ:
index - 挿入場所を示すインデックス(先頭行は0)
entity - エンティティオブジェクト
例外:
DataException

internalFree

protected void internalFree()
                     throws DataException
deActiveの時の後始末を行います。

例外:
DataException - 例外発生時

internalOnActivate

protected void internalOnActivate()
                           throws DataException
アクティブ時の内部設定を実装します。

このメソッドの処理は空です。

例外:
DataException

internalPut

public Row.RowID internalPut(Row<E> row)
行オブジェクトを内部テーブルに登録します。

パラメータ:
row - Row オブジェクト
戻り値:
行ID

internalPut

public boolean internalPut(Row<E> row,
                           boolean visible,
                           boolean insert)
                    throws DataException
自分が使う行テーブルの登録します。

継承先doLoadDataにてこれを呼び出してください。

パラメータ:
row - 行オブジェクト
visible - 登録と同時に可視とするか?
insert - 先頭に挿入するか?
戻り値:
取り扱い行へ追加できたかどうか
例外:
DataException - 例外発生時

internalRemove

public void internalRemove(Row.RowID rowID)
                    throws DataException
RowIDを指定して内部テーブルから行オブジェクトを削除します。

パラメータ:
rowID - 行ID
例外:
DataException - 例外発生時

internalMoveTo

public boolean internalMoveTo(int index)
                       throws DataException
引数 index で指定されたインデックスへ行カーソルを移動します。

行移動イベント送出を伴わない為、TableListenerオブジェクトに通知する事なく、 行カーソルを移動させる事が可能です。

当メソッドを使用する前にインデックスを取得し、使用後そのインデックスにもどすこと処理が必要です。
これを行わないと、TableListenerオブジェクトがとらえている現在行と不整合が発生し、 予期せぬ結果となります。

※注意: 現在行と同じ行インデックスが指定された場合は、行移動は行わずに true を返します。

パラメータ:
index - 行インデックス
戻り値:
行の移動に成功したかどうか
例外:
DataException - 例外発生時

internalSetup

protected void internalSetup()
                      throws DataException
内部データのセットアップします。

DataField設定を確定し、データロードの実行を行います。

例外:
DataException - 例外発生時

isActive

public boolean isActive()
Table オブジェクトがアクティブ化された状態かどうか調べます。

戻り値:
True:アクティブ状態、False:非アクティブ状態

isApplyFilter

public boolean isApplyFilter()
フィルターが適用中であるかどうかを取得します。

戻り値:
True:適用中、False:未適用

last

public boolean last()
             throws DataException
行カーソルを最終行へ移動します。

戻り値:
True:行の移動に成功した、False:失敗した
例外:
DataException - 例外発生時

next

public boolean next()
             throws DataException
行カーソルを1行次へ移動します。

戻り値:
True:行の移動に成功した、False:失敗した
例外:
DataException - 例外発生時

passivate

public void passivate()
               throws DataException
Table オブジェクトを非アクティブ化します。

例外:
DataException - 例外発生時

previous

public boolean previous()
                 throws DataException
行カーソルを1行前へ移動します。

戻り値:
True:行の移動に成功した、False:失敗した
例外:
DataException - 例外発生時

releaseFilter

public void releaseFilter()
                   throws DataException
Tableにフィルターを解除する指示を行います。

フィルターを解除した後に、TableEvent.DONE_FILTERイベントを発生させます。

例外:
DataException - フィルター解除時に発生した例外

releaseFilter

public void releaseFilter(boolean doneFilter)
                   throws DataException
Tableにフィルターを解除する指示を行います。

パラメータ:
doneFilter - True:フィルターを解除した後にTableEvent.DONE_FILTERイベントを発生させる、False:させない
例外:
DataException - フィルター解除時に発生した例外

clearColumns

public void clearColumns()
                  throws DataException
全カラムを削除します。

例外:
DataException - 例外発生時

removeChangeListener

public void removeChangeListener(ChangeListener l)
Table オブジェクトへの変更を監視する ChangeListener オブジェクトを削除します。

パラメータ:
l - ChangeListener オブジェクト

removeColumn

public void removeColumn(Column column)
引数 column で指定されたフィールドを削除します。

指定した Column オブジェクトが存在しなかった場合は何もしません。

パラメータ:
column - Column オブジェクト

removeTableListener

public void removeTableListener(TableListener l)
TableListenerの削除します。

パラメータ:
l - TableListenerインターフェースを実装したオブジェクト

resolveChanges

public void resolveChanges()
                    throws DataException
Table オブジェクトの変更内容をDBや外部ファイルに書き出します。

例外:
DataException - 例外発生時

setActive

protected void setActive(boolean activation)
                  throws DataException
Table オブジェクトの状態を設定します。

パラメータ:
activation - True:アクティブ状態、False:非アクティブ状態
例外:
DataException - 例外発生時

setCaptionResource

public void setCaptionResource(Class captionResource)
列の見出し(Columnクラスのcaptionプロパティ)に設定するリソースクラスを設定します。

リソースクラスには列名と完全に同名で、文字列フィールド(public static)を定義し、見出しにする値を設定してください。

パラメータ:
captionResource - リソースクラス

setCaptionResource

public void setCaptionResource(Class[] captionResource)
列の見出し(Columnクラスのcaptionプロパティ)に設定するリソースクラスの配列を設定します。

リソースクラスには列名と完全に同名で、文字列フィールド(public static)を定義し、見出しにする値を設定してください。

パラメータ:
captionResource - リソースクラスの配列

moveTo

public boolean moveTo(int index)
               throws DataException
引数 index で指定されたインデックスへ行カーソルを移動します。

パラメータ:
index - 行インデックス
戻り値:
True:行の移動に成功した、False:失敗した
例外:
DataException - 例外発生時

setDataProvider

public void setDataProvider(DataProvider dataProvider)
表にデータを供給する DataProvider オブジェクトを設定します。

パラメータ:
dataProvider - DataProvider オブジェクト

setDataResolver

public void setDataResolver(DataResolver dataResolver)
表のデータをDBや外部ファイルに書き出す DataResolver オブジェクトを設定します。

パラメータ:
dataResolver - DataResolver オブジェクト

setName

public void setName(String name)
Table オブジェクトの名前を設定します。

パラメータ:
name - Table オブジェクトの名前
例外:
DataException - 例外発生時

setNullableAll

public void setNullableAll(boolean nullable)
                    throws DataException
引数 nullable で指定されたNullable属性を全てのフィールドに設定します。

パラメータ:
nullable - Nullable属性
例外:
DataException - 例外発生時

setNullables

public void setNullables(boolean[] nullables)
                  throws DataException
引数 nullables で指定されたNullable属性の配列を設定します。

パラメータ:
nullables - 各フィールドのNullable属性を格納した配列
例外:
DataException - 例外発生時

setSortKeys

public void setSortKeys(Table.SortKey... sortKeys)
ソートキー配列を設定します。

パラメータ:
sortKeys - ソート用のフィールド名の配列

sortRows

public void sortRows()
              throws DataException
前回と同じソート順序で、ソートをやり直します。

例外:
DataException - フィルター解除時に発生した例外

sortRows

public void sortRows(String columnName)
引数 columnName で指定された列名の値により、行の並び替えを行います。

ある列を指定すると最初は昇順で並び替えされ、再度同じ列を指定すると降順に並び替えられます。

パラメータ:
columnName - Column名

sortRows

public void sortRows(Table.SortKey... sortKey)
              throws DataException
引数 sortKeyで指定された順序で行データを並び替えます。

パラメータ:
sortKey -
例外:
DataException

validateAllRows

public void validateAllRows()
                     throws DataException
テーブルオブジェクトに含まれる全ての行を検証し、編集内容を確定します。

例外:
DataException - 例外発生時

getCharsetForCheckingLength

public String getCharsetForCheckingLength()
文字列項目の長さチェックを行う際の文字コードセット名を取得します。

戻り値:
文字列項目の長さチェックを行う際の文字コードセット名

setCharsetForCheckingLength

public void setCharsetForCheckingLength(String charsetForCheckingLength)
文字列項目の長さチェックを行う際の文字コードセット名を設定します。

パラメータ:
charsetForCheckingLength - 文字列項目の長さチェックを行う際の文字コードセット名

isHasMoreRow

public boolean isHasMoreRow()
setMaxRowsで設定した件数よりも実際に発行したSQLで取得できるレコードが存在するか否かを取得します。

戻り値:
レコードが存在するか否か

setHasMoreRow

public void setHasMoreRow(boolean hasMoreRow)
setMaxRowsで設定した件数よりも実際に発行したSQLで取得できるレコードが存在するか否かを設定します。

パラメータ:
hasMoreRow - レコードが存在するか否か

getEntityType

public Class<E> getEntityType()
データ値を格納するクラスを指定します。Rowオブジェクトで値格納には、このクラスのインスタンスが使われます。

戻り値:
データ値を格納するクラス

setEntityType

public void setEntityType(Class<E> entityType)
                   throws InstantiationException,
                          IllegalAccessException,
                          DataException
例外:
InstantiationException
IllegalAccessException
DataException


Copyright (C) 2006-2012 LittleSoft Corporation. All Rights Reserved.