アノテーションインターフェース ComponentScan.Filter

含まれているクラス:
ComponentScan

@RetentionSE(RUNTIMESE) @TargetSE({}) public static @interface ComponentScan.Filter
組み込みフィルターまたは除外フィルター として使用される型フィルターを宣言します。
  • オプション要素のサマリー

    オプション要素
    修飾子と型
    オプションの要素
    説明
    ClassSE<?>[]
    フィルターとして使用する 1 つまたは複数のクラス。
    クラス value() を指定する代わりに、フィルターに使用するパターン(1 つまたは複数)。
    使用するフィルターの型。
    ClassSE<?>[]
    classes() のエイリアス。
  • 要素の詳細

    • type

      使用するフィルターの型。

      デフォルトは FilterType.ANNOTATION です。

      関連事項:
      デフォルト:
      ANNOTATION
    • value

      @AliasFor("classes") ClassSE<?>[] value
      classes() のエイリアス。
      関連事項:
      デフォルト:
      {}
    • classes

      @AliasFor("value") ClassSE<?>[] classes
      フィルターとして使用する 1 つまたは複数のクラス。

      次の表は、type() 属性の構成された値に基づいてクラスがどのように解釈されるかを説明しています。

      FilterType クラスの解釈
      ANNOTATION アノテーション自体
      ASSIGNABLE_TYPE 検出されたコンポーネントが割り当て可能な型
      CUSTOMTypeFilter の実装

      複数のクラスが指定されている場合、OR ロジックが適用されます。たとえば、「 @Foo OR @Bar でアノテーションが付けられた型を含める」。

      カスタム TypeFilters は、オプションで次の Aware インターフェースのいずれかを実装でき、それぞれのメソッドは match の前に呼び出されます。

      クラスを 0 に指定することは許可されていますが、コンポーネントのスキャンには影響しません。

      導入:
      4.2
      関連事項:
      デフォルト:
      {}
    • pattern

      StringSE[] pattern
      クラス value() を指定する代わりに、フィルターに使用するパターン(1 つまたは複数)。

      type()ASPECTJ に設定されている場合、これは AspectJ 型のパターン式です。type()REGEX に設定されている場合、これは、完全修飾クラス名が一致するための正規表現パターンです。

      関連事項:
      デフォルト:
      {}