Transactionインタフェースの次のメソッドをコールすると、検証がコールされるまで例外をバンドルできます。
setBundledExceptionMode(true);
アプリケーションでの属性の設定時、エンティティまたはビュー行の検証で例外が発生した場合、または検証時に例外が明示的にスローされた場合、すべての例外がキャッシュされてスローされます。例外がスローされるとすべての属性が設定されないわけではありません。例外をスローしたすべての属性が元の値のままになります。
例外をスローするかわりに登録することもできます。これらの例外は、検証の最後または明示的に例外がスローされるときにスローされます。
void registerRowException(JboException e)
void clearRowExceptions()
行の検証の場合、次のメソッドを使用して属性が有効かどうかをチェックできます。
boolean hasAttributeException(String name)
boolean hasAttributeException(int index)
次のメソッドを使用すると、キャッシュされた例外にアクセスできます。
boolean hasDeferredExceptions()
ArrayList getAllExceptions()
void clearallExceptions()
JboExceptionには、エンティティ・オブジェクト例外をビュー・オブジェクト例外に変換するメソッドがあります。
public void doEntityToVOMapping(ApplicationModule rootAm, ViewObject[] vos)
例外から取得されるオブジェクト名と属性名は、それぞれビュー・オブジェクト慣用名とビュー属性名を返します。ビュー行からスローされる属性検証の例外は、例外NeedsEntityToVOMappingのフラグをfalseに設定する必要があります。
次の4種類の検証の例外があり、すべてValidationExceptionから拡張されます。
これらの例外は、エンティティ・オブジェクト行またはビュー・オブジェクト行からスローされます。
属性検証の例外をインスタンス化するには、次の情報を渡す必要があります。
行検証の例外をインスタンス化するには、エンティティ・オブジェクト行の完全なエンティティ・オブジェクト定義名またはビュー行のビュー慣用名を渡す必要があります。
このトピックで説明したメソッドの詳細は、Javadocを参照してください。
Copyright © 1997, 2004, Oracle. All rights reserved.