アノテーション型 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
    • オプション要素のサマリー

      オプション要素  
      修飾子と型 オプションの要素 説明
      ExecutableType[]type
      呼び出されたときに検証される実行可能型のリスト。
    • 要素の詳細

      • type

        ExecutableType[] type
        呼び出されたときに検証される実行可能型のリスト。デフォルトでは、暗黙的に検出された型になります(ExecutableType.IMPLICIT を参照)。
        戻り値:
        検証する ExecutableType の配列
        デフォルト:
        {jakarta.validation.executable.ExecutableType.IMPLICIT}