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

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

public abstract class Trigger<C,V>
extends java.lang.Object
implements java.lang.Cloneable

トリガ・クラス。
トリガは、登録先のテーブルが変更される直前及び直後に呼び出され、変更の種類 と変更の前後に応じたメソッドが実行される。
実行されるメソッドは、以下の通りである:

メソッド名 変更の種類 変更の前後
preAppend レコードの追加 変更前
postAppend レコードの追加 変更後
preUpdate レコードの更新 変更前
postUpdate レコードの更新 変更後
preDelete レコードの削除 変更前
postDelete レコードの削除 変更後

実行されるメソッドに渡される引数は共通しており、以下のものが渡される:
トリガ・オブジェクトは、 Table.addTrigger(ts.util.table.Trigger)メソッドを 使って追加されるが、テーブルの変更時に呼び出されるトリガ・オブジェクトは 追加されたオブジェクトそのものではなく、そのクローン・オブジェクトである。 そのため、フィールド変数を持たせて変更前と変更後で利用するようにしたトリガ を、複数のテーブルやマルチ・スレッドで利用しても支障はない。

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

入れ子のクラスの概要
static class Trigger.Action
          テーブル変更の種類を示す列挙クラス。
 
コンストラクタの概要
Trigger()
          デフォルト・コンストラクタ。
 
メソッドの概要
protected  Trigger<C,V> createClone()
          このオブジェクトのクローン・オブジェクトを作成する。
protected  void postAppend(Table<C,V> table, java.util.Map<C,V> record)
          レコードの追加の直後に呼び出されるメソッド。
protected  void postDelete(Table<C,V> table, java.util.Map<C,V> record)
          レコードの削除の直後に呼び出されるメソッド。
protected  void postDeleteAll(Table<C,V> table, java.util.Collection<java.util.Map<C,V>> coll)
          全てのレコードを削除した直後に呼び出されるメソッド。
protected  void postUpdate(Table<C,V> table, java.util.Map<C,V> record, java.util.Map<C,V> destination)
          レコードの更新の直後に呼び出されるメソッド。
protected  void preAppend(Table<C,V> table, java.util.Map<C,V> record)
          レコードの追加の直前に呼び出されるメソッド。
protected  void preDelete(Table<C,V> table, java.util.Map<C,V> record)
          レコードの削除の直前に呼び出されるメソッド。
protected  void preDeleteAll(Table<C,V> table, java.util.Collection<java.util.Map<C,V>> coll)
          全てのレコードを削除する直前に呼び出されるメソッド。
protected  void preUpdate(Table<C,V> table, java.util.Map<C,V> record, java.util.Map<C,V> destination)
          レコードの更新の直前に呼び出されるメソッド。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

Trigger

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

メソッドの詳細

preAppend

protected void preAppend(Table<C,V> table,
                         java.util.Map<C,V> record)
レコードの追加の直前に呼び出されるメソッド。
変更対象のレコード・オブジェクトの内容は空である。

このクラスでは、このメソッドは何もしない。

パラメータ:
table - テーブル・オブジェクト。
record - 追加されるレコード・オブジェクト。

postAppend

protected void postAppend(Table<C,V> table,
                          java.util.Map<C,V> record)
レコードの追加の直後に呼び出されるメソッド。

このクラスでは、このメソッドは何もしない。

パラメータ:
table - テーブル・オブジェクト。
record - 追加されたレコード・オブジェクト。

preUpdate

protected void preUpdate(Table<C,V> table,
                         java.util.Map<C,V> record,
                         java.util.Map<C,V> destination)
レコードの更新の直前に呼び出されるメソッド。
変更対象のレコード・オブジェクトは、変更前の状態で渡される。

このクラスでは、このメソッドは何もしない。

パラメータ:
table - テーブル・オブジェクト。
record - 変更対象のレコード・オブジェクト。
destination - 更新するカラム・キーとその値を格納したマップ。

postUpdate

protected void postUpdate(Table<C,V> table,
                          java.util.Map<C,V> record,
                          java.util.Map<C,V> destination)
レコードの更新の直後に呼び出されるメソッド。
変更対象のレコード・オブジェクトは、変更後の状態で渡される。

このクラスでは、このメソッドは何もしない。

パラメータ:
table - テーブル・オブジェクト。
record - 変更対象のレコード・オブジェクト。
destination - 更新するカラム・キーとその値を格納したマップ。

preDelete

protected void preDelete(Table<C,V> table,
                         java.util.Map<C,V> record)
レコードの削除の直前に呼び出されるメソッド。

このクラスでは、このメソッドは何もしない。

パラメータ:
table - テーブル・オブジェクト。
record - 変更対象のレコード・オブジェクト。

postDelete

protected void postDelete(Table<C,V> table,
                          java.util.Map<C,V> record)
レコードの削除の直後に呼び出されるメソッド。

このクラスでは、このメソッドは何もしない。

パラメータ:
table - テーブル・オブジェクト。
record - 変更対象のレコード・オブジェクト。

preDeleteAll

protected void preDeleteAll(Table<C,V> table,
                            java.util.Collection<java.util.Map<C,V>> coll)
全てのレコードを削除する直前に呼び出されるメソッド。
引数のレコード・コレクションからレコードを順に取り出して、preDelete(ts.util.table.Table,java.util.Map)メソッドを実行している。

パラメータ:
table - テーブル・オブジェクト。
coll - 削除対象のレコードを格納したコレクション。
例外:
java.lang.AssertionError - 引数がヌルの場合(デバッグ・モードのみ)。

postDeleteAll

protected void postDeleteAll(Table<C,V> table,
                             java.util.Collection<java.util.Map<C,V>> coll)
全てのレコードを削除した直後に呼び出されるメソッド。
引数のレコード・コレクションからレコードを順に取り出して、 postDelete(ts.util.table.Table,java.util.Map)メソッドを実行して いる。

パラメータ:
table - テーブル・オブジェクト。
coll - 削除対象のレコードを格納したコレクション。
例外:
java.lang.AssertionError - 引数がヌルの場合(デバッグ・モードのみ)。

createClone

protected Trigger<C,V> createClone()
このオブジェクトのクローン・オブジェクトを作成する。

戻り値:
このオブジェクトのクローン・オブジェクト。


Copyright (C) SATOH Takayuki All Rights Reserved.