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

## 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`を 指定した場合は、全ての制約条件のチェックが実行されてから、最初に発生した 例外がスローされる。２番目以降に発生した例外は、`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` - 変更対象のレコード・オブジェクト。

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

Copyright (C) SATOH Takayuki All Rights Reserved.