ts.util.table
クラス AbstractTable<C,V>

java.lang.Object
  上位を拡張 ts.util.table.AbstractTable<C,V>
型パラメータ:
C - このテーブルのカラム・キーのタイプ。
V - このテーブルのカラム値のタイプ。
すべての実装されたインタフェース:
java.io.Serializable, java.lang.Cloneable, MapAppender<C,V>, Table<C,V>
直系の既知のサブクラス:
ArrayListTable, MapListTable

public abstract class AbstractTable<C,V>
extends java.lang.Object
implements Table<C,V>, java.lang.Cloneable, java.io.Serializable

Tableインターフェイスをインプリメントするクラス のベースとなる抽象クラス。
テーブルを、Headerオブジェクトと、レコードを 表すマップのコレクションによって構成されるものとして、それに基づいた 各メソッドの実装を提供する。

バージョン:
$Revision: 1.1.1.1 $, $Date: 2010-10-16 00:03:50 $
作成者:
佐藤隆之.
関連項目:
直列化された形式

入れ子のクラスの概要
protected  class AbstractTable.AbstractTableIndex
          AbstractTableクラス用の インデックス・クラス。
 
コンストラクタの概要
  AbstractTable()
          デフォルトコンストラクタ。
protected AbstractTable(Header<C> header)
          ヘッダを引数にとるコンストラクタ。
  AbstractTable(int initRecCapacity, int initColCapacity)
          初期レコード容量と初期カラム容量を引数にとるコンストラクタ。
 
メソッドの概要
 void addTrigger(Trigger<C,V> trigger)
          このテーブルにトリガを追加する。
 java.util.Map<C,V> appendNew()
          マップを作成して、このオブジェクト自身に追加する。
 java.util.Map<C,V> appendNew(int initColCapacity)
          マップを作成して、このオブジェクト自身に追加する。
 int columnCount()
          テーブルを構成するカラムの数を取得する。
 java.util.Enumeration<C> columns()
          このテーブルを構成するカラム・キーを列挙する。
protected abstract  Header<C> createHeader(int initColCapacity)
          カラム・キーを格納するHeaderオブジェクトを 作成する。
protected abstract  Record<C,V> createRecord(int initColCapacity)
          レコード・オブジェクトを作成する。
protected abstract  java.util.Collection<Record<C,V>> createRecordCollection(int initRecCapacity)
          レコードを表すマップを格納するコレクション・オブジェクトを作成する。
 java.util.List<java.util.Map<C,V>> delete(java.util.Map<C,V> condition)
          条件に該当するレコードを、このテーブル・オブジェクトから削除する。
 void deleteAll()
          このテーブルに格納されているレコードを全て削除する。
protected  java.util.List<java.util.Map<C,V>> deleteFromCollection(java.util.Collection<Record<C,V>> coll, java.util.Map<C,V> condition)
          指定されたコレクションの中から、条件に該当するレコードを削除する。
 boolean exists(C column, V value)
          指定されたカラムの値が指定された値と一致するレコードが存在するかどうかを 確認する。
 boolean exists(java.util.Map<C,V> condition)
          条件に該当するレコードが存在するかどうかを確認する。
protected  boolean existsInCollection(java.util.Collection<Record<C,V>> coll, java.util.Map<C,V> condition)
          指定されたレコード・コレクションの要素に、条件に該当するレコードが存在する かどうかを確認する。
 Index<C,V> getIndex(C... indexKeys)
          指定されたカラム・キーの配列をインデックス・キーとするインデックスを 取得する。
protected  Header<C> header()
          テーブルを構成するヘッダを取得する。
 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)
          条件に最初に該当したレコードを取得する。
protected  java.util.Map<C,V> selectFirstFromCollection(java.util.Collection<Record<C,V>> coll, java.util.Map<C,V> condition)
          指定されたレコード・コレクションの要素の中から、条件に最初に該当した レコードを取得する。
protected  java.util.List<java.util.Map<C,V>> selectFromCollection(java.util.Collection<Record<C,V>> coll, 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)
          条件に該当するレコードを、指定されたマップの内容で更新する。
protected  java.util.List<java.util.Map<C,V>> updateInCollection(java.util.Collection<Record<C,V>> coll, java.util.Map<C,V> condition, java.util.Map<C,V> destination)
          指定されたコレクションの要素の中から、条件に該当するレコードを取り出して 内容を更新する。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

AbstractTable

public AbstractTable()
デフォルトコンストラクタ。


AbstractTable

public AbstractTable(int initRecCapacity,
                     int initColCapacity)
初期レコード容量と初期カラム容量を引数にとるコンストラクタ。

パラメータ:
initRecCapacity - 初期レコード容量。
initColCapacity - 初期カラム容量。
例外:
java.lang.AssertionError - 引数が負の値の場合(デバッグ・モードのみ)。

AbstractTable

protected AbstractTable(Header<C> header)
ヘッダを引数にとるコンストラクタ。

パラメータ:
header - ヘッダ・オブジェクト。
例外:
java.lang.AssertionError - 引数がヌルの場合(デバッグ・モードのみ)。
メソッドの詳細

header

protected Header<C> header()
テーブルを構成するヘッダを取得する。

戻り値:
ヘッダ・オブジェクト。

columnCount

public int columnCount()
テーブルを構成するカラムの数を取得する。

定義:
インタフェース Table<C,V> 内の columnCount
戻り値:
カラム数。

recordCount

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

定義:
インタフェース Table<C,V> 内の recordCount
戻り値:
レコード数。

columns

public java.util.Enumeration<C> columns()
このテーブルを構成するカラム・キーを列挙する。

定義:
インタフェース Table<C,V> 内の columns
戻り値:
カラム・キーの列挙オブジェクト。

records

public MapIterator<C,V> records()
このテーブルに格納されているレコードを順に取り出すためのイテレータを取得 する。

定義:
インタフェース Table<C,V> 内の records
戻り値:
レコードのイテレータ。

records

public MapIterator<C,V> records(MapComparator<C,V> comparator)
このテーブルに格納されているレコードをソートして、順に取り出すための イテレータを取得する。

定義:
インタフェース Table<C,V> 内の records
パラメータ:
comparator - ソートに使用するレコード比較オブジェクト。
戻り値:
レコードのイテレータ。
例外:
java.lang.AssertionError - 引数がヌルの場合(デバッグ・モードのみ)。

recordFirst

public java.util.Map<C,V> recordFirst()
このテーブルに格納されている最初のレコードを取得する。

定義:
インタフェース Table<C,V> 内の recordFirst
戻り値:
このテーブルの最初のレコード。

appendNew

public java.util.Map<C,V> appendNew()
マップを作成して、このオブジェクト自身に追加する。

定義:
インタフェース MapAppender<C,V> 内の appendNew
戻り値:
追加されたマップ。

appendNew

public java.util.Map<C,V> appendNew(int initColCapacity)
マップを作成して、このオブジェクト自身に追加する。

定義:
インタフェース MapAppender<C,V> 内の appendNew
パラメータ:
initColCapacity - マップ要素の初期容量。
戻り値:
追加されたマップ。
例外:
java.lang.AssertionError - 引数が負の値の場合(デバッグ・モードのみ)。

deleteAll

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

定義:
インタフェース Table<C,V> 内の deleteAll

exists

public boolean exists(C column,
                      V value)
指定されたカラムの値が指定された値と一致するレコードが存在するかどうかを 確認する。

定義:
インタフェース Table<C,V> 内の exists
パラメータ:
column - 条件とするカラム・キー。
value - 条件とするカラムの値。
戻り値:
該当するレコードが存在する場合はtrueを返す。

exists

public boolean exists(java.util.Map<C,V> condition)
条件に該当するレコードが存在するかどうかを確認する。
引数のマップに格納されているキーと値の組み合わせと同じ組み合わせを持つ レコードを検索し、1件でも存在した場合はtrueを返す。

引数のマップのキーの中に、このテーブルのカラム・キーに存在しないものが あった場合は、常にfalseを返す。
反対に、このテーブルのカラム・キーの中に、引数のマップに存在しないキーを 持っていても、それらは無視される。それ以外のカラム・キーの値が等しい レコードがあればtrueを返す。
引数のマップが空だった場合は条件なしとして、このテーブルにレコードが1件 でもあった場合はtrueを返す。

定義:
インタフェース Table<C,V> 内の exists
パラメータ:
condition - 条件のカラムとその値を格納したマップ・オブジェクト。
戻り値:
該当するレコードが存在する場合はtrueを返す。
例外:
java.lang.AssertionError - 引数がヌルの場合(デバッグ・モードのみ)。

existsInCollection

protected boolean existsInCollection(java.util.Collection<Record<C,V>> coll,
                                     java.util.Map<C,V> condition)
指定されたレコード・コレクションの要素に、条件に該当するレコードが存在する かどうかを確認する。

パラメータ:
coll - レコード・コレクション。
condition - 条件のカラム・キーとその値を格納したマップ・オブジェクト。
戻り値:
該当するレコードが存在する場合はtrueを返す。
例外:
java.lang.AssertionError - 引数がヌルの場合(デバッグ・モードのみ)。

selectFirst

public java.util.Map<C,V> selectFirst(C column,
                                      V value)
指定されたカラムの値が指定された値と最初に一致したレコードを返す。

定義:
インタフェース Table<C,V> 内の selectFirst
パラメータ:
column - 条件とするカラム・キー。
value - 条件とするカラムの値。
戻り値:
指定されたカラムの値と最初に一致したレコード。

selectFirst

public java.util.Map<C,V> selectFirst(java.util.Map<C,V> condition)
条件に最初に該当したレコードを取得する。
引数のマップに格納されているキーと値の組み合わせと同じ組み合わせを持つ レコードを検索し、その最初のレコードを返す。
該当するレコードが1件も存在しない場合はヌルを返す。

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

定義:
インタフェース Table<C,V> 内の selectFirst
パラメータ:
condition - 条件のカラムとその値を格納したマップ・オブジェクト。
戻り値:
指定されたカラムの値と一致するレコード。
例外:
java.lang.AssertionError - 引数がヌルの場合(デバッグ・モードのみ)。

selectFirstFromCollection

protected java.util.Map<C,V> selectFirstFromCollection(java.util.Collection<Record<C,V>> coll,
                                                       java.util.Map<C,V> condition)
指定されたレコード・コレクションの要素の中から、条件に最初に該当した レコードを取得する。

パラメータ:
coll - レコード・コレクション。
condition - 条件のカラム・キーとその値を格納したマップ・オブジェクト。
戻り値:
引数のマップに格納された条件に最初に該当したレコード。
例外:
java.lang.AssertionError - 引数がヌルの場合(デバッグ・モードのみ)。

select

public java.util.List<java.util.Map<C,V>> select(C column,
                                                 V value)
指定されたカラムの値が指定された値と一致するレコードを格納したリストを を取得する。

定義:
インタフェース Table<C,V> 内の select
パラメータ:
column - 条件とするカラム・キー。
value - 条件とするカラムの値。
戻り値:
指定されたカラムの値と一致するレコードを格納したリスト。

select

public java.util.List<java.util.Map<C,V>> select(java.util.Map<C,V> condition)
条件に該当するレコードを格納したリストを取得する。
引数のマップに格納されているキーと値の組み合わせと同じ組み合わせを持つ レコードを検索し、そのレコードを格納したリストを返す。
該当するレコードが1件も存在しない場合は空のリストを返す。

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

定義:
インタフェース Table<C,V> 内の select
パラメータ:
condition - 条件のカラムとその値を格納したマップ・オブジェクト。
戻り値:
指定されたカラムの値と一致するレコードを格納したリスト。
例外:
java.lang.AssertionError - 引数がヌルの場合(デバッグ・モードのみ)。

selectFromCollection

protected java.util.List<java.util.Map<C,V>> selectFromCollection(java.util.Collection<Record<C,V>> coll,
                                                                  java.util.Map<C,V> condition)
指定されたコレクションの要素の中から、条件に該当するレコードを取り出して リストに格納して返す。

パラメータ:
coll - レコード・コレクション。
condition - 条件のカラム・キーとその値を格納したマップ・オブジェクト。
戻り値:
引数のマップに格納された条件に該当するレコードを格納したリスト。
例外:
java.lang.AssertionError - 引数がヌルの場合(デバッグ・モードのみ)。

delete

public java.util.List<java.util.Map<C,V>> delete(java.util.Map<C,V> condition)
条件に該当するレコードを、このテーブル・オブジェクトから削除する。
引数のマップに格納されているキーと値の組み合わせと同じ組み合わせを持つ レコードを検索して、このテーブルから削除する。
削除されたレコードは、リストに格納されて戻り値として返される。

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

定義:
インタフェース Table<C,V> 内の delete
パラメータ:
condition - 条件とするカラムとその値を格納したマップ・オブジェクト。
戻り値:
削除されたレコードを格納したリスト。
例外:
java.lang.AssertionError - 引数がヌルの場合(デバッグ・モードのみ)。

deleteFromCollection

protected java.util.List<java.util.Map<C,V>> deleteFromCollection(java.util.Collection<Record<C,V>> coll,
                                                                  java.util.Map<C,V> condition)
指定されたコレクションの中から、条件に該当するレコードを削除する。

パラメータ:
coll - レコード・コレクション。
condition - 条件のカラム・キーとその値を格納したマップ・オブジェクト。
戻り値:
削除されたレコードを格納したリスト。
例外:
java.lang.AssertionError - 引数がヌルの場合(デバッグ・モードのみ)。

update

public java.util.List<java.util.Map<C,V>> update(java.util.Map<C,V> condition,
                                                 java.util.Map<C,V> destination)
条件に該当するレコードを、指定されたマップの内容で更新する。
第1引数のマップに格納されているキーと値の組み合わせと同じ組み合わせを持つ レコードを検索して、その中の内容を第2引数のマップの内容で更新する。
更新されたレコードは、新たに作成されたテーブル・オブジェクトに格納されて 戻り値として返される。

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

定義:
インタフェース Table<C,V> 内の update
パラメータ:
condition - 条件とするカラムとその値を格納したマップ・オブジェクト。
destination - 更新するカラムとその値を格納したマップ・オブジェクト。
戻り値:
更新されたレコードを格納したリスト。

updateInCollection

protected java.util.List<java.util.Map<C,V>> updateInCollection(java.util.Collection<Record<C,V>> coll,
                                                                java.util.Map<C,V> condition,
                                                                java.util.Map<C,V> destination)
指定されたコレクションの要素の中から、条件に該当するレコードを取り出して 内容を更新する。
更新したレコードは、リストに格納して返す。

パラメータ:
coll - レコード・コレクション。
condition - 条件のカラム・キーとその値を格納したマップ・オブジェクト。
destination - 更新するカラム・キーとその値を格納した マップ・オブジェクト。
戻り値:
削除されたレコードを格納したリスト。
例外:
java.lang.AssertionError - 引数がヌルの場合(デバッグ・モードのみ)。

getIndex

public Index<C,V> getIndex(C... indexKeys)
指定されたカラム・キーの配列をインデックス・キーとするインデックスを 取得する。
該当するインデックスが存在しない場合は、新しくインデックスを作成して 返す。

定義:
インタフェース Table<C,V> 内の getIndex
パラメータ:
indexKeys - インデックス・キーの配列。
戻り値:
指定されたインデックス・キーを持つインデックス・オブジェクト。
例外:
java.lang.AssertionError - 引数がヌルの場合(デバッグ・モードのみ)。
java.lang.IllegalArgumentException - 引数の配列が空の場合。

addTrigger

public void addTrigger(Trigger<C,V> trigger)
このテーブルにトリガを追加する。

定義:
インタフェース Table<C,V> 内の addTrigger
パラメータ:
trigger - トリガ・オブジェクト。
例外:
java.lang.AssertionError - 引数がヌルの場合(デバッグ・モードのみ)。

createHeader

protected abstract Header<C> createHeader(int initColCapacity)
カラム・キーを格納するHeaderオブジェクトを 作成する。

パラメータ:
initColCapacity - 初期カラム容量。
戻り値:
カラム・キーを格納するHeader オブジェクト。

createRecordCollection

protected abstract java.util.Collection<Record<C,V>> createRecordCollection(int initRecCapacity)
レコードを表すマップを格納するコレクション・オブジェクトを作成する。

パラメータ:
initRecCapacity - 初期レコード容量。
戻り値:
レコードを表すマップを格納するコレクション・オブジェクト。

createRecord

protected abstract Record<C,V> createRecord(int initColCapacity)
レコード・オブジェクトを作成する。

パラメータ:
initColCapacity - 初期カラム容量。
戻り値:
レコード・オブジェクト。


Copyright (C) SATOH Takayuki All Rights Reserved.