概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## ts.util.table
インタフェース Table<C,V>

型パラメータ:
  `C` - カラム・キーのタイプ。
  `V` - カラムの値のタイプ。

すべてのスーパーインタフェース:
  MapAppender<C,V>

既知の実装クラスの一覧:
  AbstractTable, AbstractTable.AbstractTableIndex, ArrayListTable, Index, MapListTable

    public interface Table<C,V>

extends MapAppender<C,V>

マップ・オブジェクトをレコードとするテーブルのインターフェイス。
キー構成が同じであるマップ・オブジェクトをレコードとして、そのレコードの集合 を構成要素として持つ。
テーブルの内容の取得や更新はレコード単位で行われる。 取得や更新の条件とするカラム・キーとその値は、マップに格納して引数として メソッドに渡す。 レコードを取得するメソッドには`select(java.util.Map)`や `selectFirst(java.util.Map)`がある。 レコードを削除するメソッドには`delete(java.util.Map)`がある。 レコードを更新するメソッドには`update(java.util.Map,java.util.Map)` がある。
レコードを追加するには、`MapAppender.appendNew()`メソッドを用いる。 `MapAppender.appendNew()`メソッドは、戻り値としてテーブルに追加されたレコードで あるマップを返す。

バージョン:
  $Revision: 1.1.1.1 $, $Date: 2010-10-16 00:03:52 $
作成者:
  佐藤隆之.

メソッドの概要
`void` | `addTrigger(Trigger<C,V> trigger)` トリガーを追加する。
`int` | `columnCount()` テーブルを構成するカラム・キーの数を取得する。
`java.util.Enumeration<C>` | `columns()` このテーブルを構成するカラム・キーを列挙する。
`java.util.List<java.util.Map<C,V>>` | `delete(java.util.Map<C,V> condition)` 条件に該当するレコードを、このテーブル・オブジェクトから削除する。
`void` | `deleteAll()` このテーブルに格納されているレコードを全て削除する。
`boolean` | `exists(C column, V value)` 指定されたカラムの値が指定された値と一致するレコードが存在するかどうかを 確認する。
`boolean` | `exists(java.util.Map<C,V> condition)` 条件に該当するレコードが存在するかどうかを確認する。
`Index<C,V>` | `getIndex(C... indexKeys)` 指定された配列の要素をインデックス・キーとするインデックスを取得する。
`int` | `recordCount()` テーブルに格納されているレコードの数を取得する。
`java.util.Map<C,V>` | `recordFirst()` このテーブルに格納されている最初のレコードを取得する。
`MapIterator<C,V>` | `records()` このテーブルに格納されているレコードを順に取り出すためのイテレータを取得 する。
`MapIterator<C,V>` | `records(MapComparator<C,V> comparator)` このテーブルに格納されているレコードをソートして、順に取り出すための イテレータを取得する。
`java.util.List<java.util.Map<C,V>>` | `select(C column, V value)` 指定されたカラムの値が指定された値と一致するレコードを格納したリストを を取得する。
`java.util.List<java.util.Map<C,V>>` | `select(java.util.Map<C,V> condition)` 条件に該当するレコードを格納したリストを取得する。
`java.util.Map<C,V>` | `selectFirst(C column, V value)` 指定されたカラムの値が指定された値と最初に一致したレコードを返す。
`java.util.Map<C,V>` | `selectFirst(java.util.Map<C,V> condition)` 条件に最初に該当したレコードを取得する。
`java.util.List<java.util.Map<C,V>>` | `update(java.util.Map<C,V> condition, java.util.Map<C,V> destination)` 条件に該当するレコードを、指定されたマップの内容で更新する。

インタフェース ts.util.table.MapAppender から継承されたメソッド
`appendNew, appendNew`

メソッドの詳細

### columnCount

    int columnCount()

  テーブルを構成するカラム・キーの数を取得する。

  戻り値:
    カラム・キーの数。

### recordCount

    int recordCount()

  テーブルに格納されているレコードの数を取得する。

  戻り値:
    レコード数。

### columns

    java.util.Enumeration<C> columns()

  このテーブルを構成するカラム・キーを列挙する。

  戻り値:
    カラム・キーを格納した列挙オブジェクト。

### records

    MapIterator<C,V> records()

  このテーブルに格納されているレコードを順に取り出すためのイテレータを取得 する。

  戻り値:
    レコードのイテレータ。

### records

    MapIterator<C,V> records(MapComparator<C,V> comparator)

  このテーブルに格納されているレコードをソートして、順に取り出すための イテレータを取得する。

  パラメータ:
    `comparator` - ソートに使用するレコード比較オブジェクト。
  戻り値:
    レコードのイテレータ。

### recordFirst

    java.util.Map<C,V> recordFirst()

  このテーブルに格納されている最初のレコードを取得する。

  戻り値:
    このテーブルの最初のレコード。

### deleteAll

    void deleteAll()

  このテーブルに格納されているレコードを全て削除する。

### exists

    boolean exists(C column,
                   V value)

  指定されたカラムの値が指定された値と一致するレコードが存在するかどうかを 確認する。

  パラメータ:
    `column` - 条件とするカラム・キー。
    `value` - 条件とするカラムの値。
  戻り値:
    該当するレコードが存在する場合は`true`を返す。

### exists

    boolean exists(java.util.Map<C,V> condition)

  条件に該当するレコードが存在するかどうかを確認する。
  引数のマップに格納されているキーと値の組み合わせと同じ組み合わせを持つ レコードを検索し、1件でも存在した場合は`true`を返す。
  引数のマップのキーの中に、このテーブルのカラム・キーに存在しないものが あった場合は、常に`false`を返す。
  反対に、このテーブルのカラム・キーの中に、引数のマップに存在しないキーを 持っていても、それらは無視される。それ以外のカラム・キーの値が等しい レコードがあれば`true`を返す。
  引数のマップが空だった場合は条件なしとして、このテーブルにレコードが1件 でもあった場合は`true`を返す。

  パラメータ:
    `condition` - 条件のカラムとその値を格納したマップ・オブジェクト。
  戻り値:
    該当するレコードが存在する場合は`true`を返す。

### selectFirst

    java.util.Map<C,V> selectFirst(C column,
                                   V value)

  指定されたカラムの値が指定された値と最初に一致したレコードを返す。

  パラメータ:
    `column` - 条件とするカラム・キー。
    `value` - 条件とするカラムの値。
  戻り値:
    指定されたカラムの値と最初に一致したレコード。

### selectFirst

    java.util.Map<C,V> selectFirst(java.util.Map<C,V> condition)

  条件に最初に該当したレコードを取得する。
  引数のマップに格納されているキーと値の組み合わせと同じ組み合わせを持つ レコードを検索し、その最初のレコードを返す。
  該当するレコードが1件も存在しない場合はヌルを返す。
  引数のマップのキーの中に、このテーブルのカラム・キーに存在しないものが あった場合は、全てのレコードが該当しなくなり、ヌルが返される。
  反対に、このテーブルのカラム・キーの中に、引数のマップに存在しないキーを 持っていても、それらは無視される。それ以外のカラム・キーの値が等しい レコードがあれば、その最初のレコードを返す。
  引数のマップが空だった場合は条件なしとして、このテーブルに格納されている 最初のレコードを返す。

  パラメータ:
    `condition` - 条件のカラムとその値を格納したマップ・オブジェクト。
  戻り値:
    指定されたカラムの値と一致するレコード。

### select

    java.util.List<java.util.Map<C,V>> select(C column,
                                              V value)

  指定されたカラムの値が指定された値と一致するレコードを格納したリストを を取得する。

  パラメータ:
    `column` - 条件とするカラム・キー。
    `value` - 条件とするカラムの値。
  戻り値:
    指定されたカラムの値と一致するレコードを格納したリスト。

### select

    java.util.List<java.util.Map<C,V>> select(java.util.Map<C,V> condition)

  条件に該当するレコードを格納したリストを取得する。
  引数のマップに格納されているキーと値の組み合わせと同じ組み合わせを持つ レコードを検索し、そのレコードを格納したリストを返す。
  該当するレコードが1件も存在しない場合は空のリストを返す。
  引数のマップのキーの中に、このテーブルのカラム・キーに存在しないものが あった場合は、全てのレコードが該当しなくなり、空のリストを返す。
  反対に、このテーブルのカラム・キーの中に、引数のマップに存在しないキーを 持っていても、それらは無視される。それ以外のカラム・キーの値が等しい レコードがあれば、それらをリストに格納して返す。
  引数のマップが空だった場合は条件なしとして、このテーブルに格納されている 全てのレコードを格納したリストを返す。

  パラメータ:
    `condition` - 条件のカラムとその値を格納したマップ・オブジェクト。
  戻り値:
    指定されたカラムの値と一致するレコードを格納したリスト。

### delete

    java.util.List<java.util.Map<C,V>> delete(java.util.Map<C,V> condition)

  条件に該当するレコードを、このテーブル・オブジェクトから削除する。
  引数のマップに格納されているキーと値の組み合わせと同じ組み合わせを持つ レコードを検索して、このテーブルから削除する。
  削除されたレコードは、リストに格納されて戻り値として返される。
  引数のマップのキーの中に、このテーブルのカラム・キーに存在しないものが あった場合は、全てのレコードが条件に該当しなくなり、1件も削除されない。
  反対に、このテーブルのカラム・キーの中に、引数のマップに存在しないキーを 持っていても、それらは無視される。それ以外のカラム・キーの値が等しい レコードがあれば、それらをこのテーブルから削除し、リストに格納して返す。
  引数のマップが空だった場合は条件なしとして、このテーブルに格納されている 全てのレコードを削除し、リストに格納して返す。

  パラメータ:
    `condition` - 条件とするカラムとその値を格納したマップ・オブジェクト。
  戻り値:
    削除されたレコードを格納したリスト。

### update

    java.util.List<java.util.Map<C,V>> update(java.util.Map<C,V> condition,
                                              java.util.Map<C,V> destination)

  条件に該当するレコードを、指定されたマップの内容で更新する。
  第1引数のマップに格納されているキーと値の組み合わせと同じ組み合わせを持つ レコードを検索して、その中の内容を第2引数のマップの内容で更新する。
  更新されたレコードは、新たに作成されたテーブル・オブジェクトに格納されて 戻り値として返される。
  引数のマップのキーの中に、このテーブルのカラム・キーに存在しないものが あった場合は、全てのレコードが条件に該当しなくなり、1件も更新されない。
  反対に、このテーブルのカラム・キーの中に、引数のマップに存在しないキーを 持っていても、それらは無視される。それ以外のカラム・キーの値が等しい レコードがあれば、それらの内容を更新し、リストに格納して返す。
  引数のマップが空だった場合は条件なしとして、このテーブルに格納されている 全てのレコードの内容を更新し、リストに格納して返す。

  パラメータ:
    `condition` - 条件とするカラムとその値を格納したマップ・オブジェクト。
    `destination` - 更新するカラムとその値を格納したマップ・オブジェクト。
  戻り値:
    更新されたレコードを格納したリスト。

### getIndex

    Index<C,V> getIndex(C... indexKeys)

  指定された配列の要素をインデックス・キーとするインデックスを取得する。
  該当するインデックスが存在しない場合は、インデックスを作成して返す。

  パラメータ:
    `indexKeys` - インデックス・キーの配列。
  戻り値:
    このテーブルのインデックス・オブジェクト。

### addTrigger

    void addTrigger(Trigger<C,V> trigger)

  トリガーを追加する。
  追加されたトリガーは、このテーブルの内容が変更される直前及び直後に 呼び出され、テーブルの変更の種類と変更の前後に応じたメソッドが実行 される。

  パラメータ:
    `trigger` - トリガー・オブジェクト。

概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

Copyright (C) SATOH Takayuki All Rights Reserved.