アノテーション型 Enhancement


  • @TargetSE(METHODSE)
    @RetentionSE(RUNTIMESE)
    public @interface Enhancement
    ビルド互換拡張機能の実行の第 2 フェーズ。アノテーションの変換を許可します。

    以下のテキストでは、予期される型という用語は、@Enhancement アノテーションの typeswithSubtypeswithAnnotations メンバーによって定義される型のセットを示します。発見された型という用語は、型の発見中に発見された予想される型のサブセットを示します。

    @Enhancement アノテーションが付けられたメソッドは、次の型のいずれかのパラメーターを 1 つだけ宣言する必要があります。

    @Enhancement メソッドに型 ClassConfig または ClassInfo のパラメーターがある場合、メソッドは検出された型ごとに 1 回呼び出されます。

    @Enhancement メソッドに MethodConfig または MethodInfo 型のパラメーターがある場合、メソッドは、ClassInfo.constructors および ClassInfo.methods で定義されているように、検出された各型で宣言されているコンストラクターまたはメソッドごとに 1 回呼び出されます。

    @Enhancement メソッドに FieldConfig または FieldInfo 型のパラメーターがある場合、メソッドは、ClassInfo.fields で定義されているように、検出された各型で宣言されているフィールドごとに 1 回呼び出されます。

    @Enhancement メソッドがこれらの型のいずれかのパラメーターを宣言していない場合、または複数の型を宣言している場合、コンテナーはそれを定義エラーとして扱います。

    さらに、@Enhancement アノテーションが付けられたメソッドは、次の型のパラメーターを宣言できます。

    最後に、AnnotationBuilder を使用して AnnotationInfo のインスタンスを作成できます。

    導入:
    4.0
    • 必須定数のサマリー

      必須要素  
      修飾子と型 必須要素 説明
      ClassSE<?>[]types
      予想される型のセットを定義します。
    • オプション要素のサマリー

      オプション要素  
      修飾子と型 オプションの要素 説明
      ClassSE<? extends AnnotationSE>[]withAnnotations
      types および withSubtypes によって定義された予想される型のセットを、指定されたアノテーションのいずれかを使用する型に絞り込みます。
      booleanwithSubtypes
      true の場合、予想される型のセットには、指定された types のすべての直接および間接サブ型が含まれます。
    • 要素の詳細

      • types

        ClassSE<?>[] types
        予想される型のセットを定義します。withSubtypes が true の場合、予期される型のセットには、これらの型のすべての直接および間接サブ型が含まれます。withAnnotations が定義されている場合、予想される型のセットには、特定のアノテーションを使用する型のみが含まれます。
        戻り値:
        期待される型のセット
      • withSubtypes

        boolean withSubtypes
        true の場合、予想される型のセットには、指定された types のすべての直接および間接サブ型が含まれます。
        戻り値:
        予想される型のセットにサブ型を含めるかどうか
        デフォルト:
        false
      • withAnnotations

        ClassSE<? extends AnnotationSE>[] withAnnotations
        types および withSubtypes によって定義された予想される型のセットを、指定されたアノテーションのいずれかを使用する型に絞り込みます。アノテーションは、型、型の任意のメンバー、型の任意のメンバーの任意のパラメーター、これらの規則によって考慮される任意のアノテーションのメタアノテーションとして表示できます。

        空の場合、予想される型のセットは決して絞り込まれません。java.lang.Annotation が存在する場合、予想される型のセットは、任意のアノテーションを使用する型に絞り込まれます。

        デフォルトは空の配列であるため、予想される型のセットは決して絞り込まれません。

        戻り値:
        予想される型に存在しなければならないアノテーションの型
        デフォルト:
        {}