アノテーションインターフェース ValidateOnExecution
@TargetSE({CONSTRUCTORSE,METHODSE,TYPESE,PACKAGESE})
@RetentionSE(RUNTIMESE)
@DocumentedSE
public @interface ValidateOnExecution
実行時に検証されるパラメーターと戻り値を持つ実行可能ファイル(メソッドまたはコンストラクター)を表します。実行可能(メソッド、コンストラクター)または型レベル(前者が優先)にすることができます。
特定の実行可能ファイルに存在しない場合、META-INF/validation.xml からのデフォルト設定と最後に暗黙のデフォルト検証済み実行可能型(コンストラクターと非 getter)が考慮され、特定の実行可能ファイルが実行時に検証されるかどうかが決定されます。
次に、実行可能ファイルを検証するかどうかを決定するための正式なルールについて説明します。それらは降順で適用されます。
- 実行可能ファイルは、
@ValidateOnExecutionでアノテーションが付けられ、type属性に実行可能型またはExecutableType.IMPLICITが含まれている場合に検証されます。type属性に実行可能型もIMPLICITも含まれていない場合、実行可能ファイルは検証されません。 - それ以外の場合、宣言された型(クラス、インターフェース)に
@ValidateOnExecutionアノテーションが付けられ、type属性に実行可能型が含まれている場合、実行可能ファイルが検証されます。type属性にIMPLICITが含まれている場合、このルールは無視され、動作はValidateOnExecutionが存在しないのと同等になります。type属性に実行可能型が含まれていない場合、実行可能ファイルは検証されません。 - それ以外の場合、グローバル実行可能ファイル検証設定に実行可能型が含まれていれば、実行可能ファイルが検証されます。グローバル設定に実行可能型が含まれていない場合、実行可能ファイルは検証されません。
- 上記のルールは、スーパークラスメソッドをオーバーライドするメソッドや、インターフェースメソッドを実装するメソッドには適用されません。この場合、メソッドは、オーバーライドまたは実装するメソッドの動作を継承します。オーバーライド / 実装メソッドが
ValidateOnExecutionアノテーションをホストしている場合、そのままの状態で、適合実装はValidationExceptionを発生させます。
上記のルールが一致しないことを確認するか、@ValidateOnExecution(NONE) で実行可能ファイルにアノテーションを付けることにより、実行可能ファイルを検証から除外できることに注意してください。
- 導入:
- 1.1
- 作成者:
- Emmanuel Bernard
オプション要素の概要
オプション要素
要素の詳細
type
ExecutableType[] type呼び出されたときに検証される実行可能型のリスト。デフォルトでは、暗黙的に検出された型になります(ExecutableType.IMPLICITを参照)。- 戻り値:
- 検証する
ExecutableTypeの配列
- デフォルト:
- {IMPLICIT}