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

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

public class ConstraintTrigger<C,V>
extends Trigger<C,V>

テーブル変更時に、制約条件のチェック処理を呼び出すトリガ・クラス。
このオブジェクトに登録されたConstraint オブジェクトのチェック処理を、preAppend, preUpdate, preDeleteメソッドの いずれかで実行する。
Constraintオブジェクトのチェック処理で 制約違反と判定された場合は、ConstraintViolationException が直ちにスローされる。
但しこのオブジェクトを生成する時に、コンストラクタの引数にfalseを 指定した場合は、全ての制約条件のチェックが実行されてから、最初に発生した 例外がスローされる。2番目以降に発生した例外は、ConstraintViolationException.next()メソッドで連鎖的に取得する ことができる。

バージョン:
$Revision: 1.2 $, $Date: 2010-10-16 10:51:35 $
作成者:
佐藤隆之.

入れ子のクラスの概要
 
クラス ts.util.table.Trigger から継承された入れ子のクラス/インタフェース
Trigger.Action
 
コンストラクタの概要
ConstraintTrigger()
          デフォルトコンストラクタ。
ConstraintTrigger(boolean isImmediate)
          制約条件のチェックで制約違反があった場合に、直ちに例外をスローするかどうか を引数にとるコンストラクタ。
 
メソッドの概要
 void addConstraintForAppend(Constraint<C,V> constraint)
          レコードの追加直前に制約違反のチェックを行うConstraintオブジェクトを追加する。
 void addConstraintForDelete(Constraint<C,V> constraint)
          レコードの削除直前に制約違反のチェックを行うConstraintオブジェクトを追加する。
 void addConstraintForUpdate(Constraint<C,V> constraint)
          レコードの更新直前に制約違反のチェックを行うConstraintオブジェクトを追加する。
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 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 preUpdate(Table<C,V> table, java.util.Map<C,V> record, java.util.Map<C,V> destination)
          レコードの更新の直前に呼び出されるメソッド。
 
クラス ts.util.table.Trigger から継承されたメソッド
createClone, postDeleteAll, preDeleteAll
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

ConstraintTrigger

public ConstraintTrigger()
デフォルトコンストラクタ。
制約条件のチェックで制約違反があった場合は直ちに例外をスローする。


ConstraintTrigger

public ConstraintTrigger(boolean isImmediate)
制約条件のチェックで制約違反があった場合に、直ちに例外をスローするかどうか を引数にとるコンストラクタ。

パラメータ:
isImmediate - 直ちに例外をスローする場合はtrue
メソッドの詳細

addConstraintForAppend

public void addConstraintForAppend(Constraint<C,V> constraint)
レコードの追加直前に制約違反のチェックを行うConstraintオブジェクトを追加する。

パラメータ:
constraint - Constraintオブジェクト。
例外:
java.lang.AssertionError - 引数がヌルの場合。

addConstraintForUpdate

public void addConstraintForUpdate(Constraint<C,V> constraint)
レコードの更新直前に制約違反のチェックを行うConstraintオブジェクトを追加する。

パラメータ:
constraint - Constraintオブジェクト。
例外:
java.lang.AssertionError - 引数がヌルの場合。

addConstraintForDelete

public void addConstraintForDelete(Constraint<C,V> constraint)
レコードの削除直前に制約違反のチェックを行うConstraintオブジェクトを追加する。

パラメータ:
constraint - Constraintオブジェクト。
例外:
java.lang.AssertionError - 引数がヌルの場合。

preAppend

protected void preAppend(Table<C,V> table,
                         java.util.Map<C,V> record)
レコードの追加の直前に呼び出されるメソッド。
レコードの追加直前に制約違反のチェックを行うConstraintオブジェクトのチェック処理を呼び出す。

オーバーライド:
クラス Trigger<C,V> 内の preAppend
パラメータ:
table - テーブル・オブジェクト。
record - 追加されるレコード・オブジェクト。
例外:
ConstraintViolationException - 制約違反があった場合。

preUpdate

protected void preUpdate(Table<C,V> table,
                         java.util.Map<C,V> record,
                         java.util.Map<C,V> destination)
レコードの更新の直前に呼び出されるメソッド。
レコードの更新直前に制約違反のチェックを行うConstraintオブジェクトのチェック処理を呼び出す。

オーバーライド:
クラス Trigger<C,V> 内の preUpdate
パラメータ:
table - テーブル・オブジェクト。
record - 更新されるレコード・オブジェクト。
destination - 更新するカラム・キーとその値を格納したマップ。
例外:
ConstraintViolationException - 制約違反があった場合。

preDelete

protected void preDelete(Table<C,V> table,
                         java.util.Map<C,V> record)
レコードの削除の直前に呼び出されるメソッド。
レコードの削除直前に制約違反のチェックを行うConstraintオブジェクトのチェック処理を呼び出す。

オーバーライド:
クラス Trigger<C,V> 内の preDelete
パラメータ:
table - テーブル・オブジェクト。
record - 削除されるレコード・オブジェクト。
例外:
ConstraintViolationException - 制約違反があった場合。

postAppend

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

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

オーバーライド:
クラス Trigger<C,V> 内の postAppend
パラメータ:
table - テーブル・オブジェクト。
record - 追加されたレコード・オブジェクト。

postUpdate

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

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

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

postDelete

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

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

オーバーライド:
クラス Trigger<C,V> 内の postDelete
パラメータ:
table - テーブル・オブジェクト。
record - 変更対象のレコード・オブジェクト。


Copyright (C) SATOH Takayuki All Rights Reserved.