パッケージ jakarta.enterprise.inject

アノテーション型 Stereotype


  • @RetentionSE(RUNTIMESE)
    @TargetSE(ANNOTATION_TYPESE)
    @DocumentedSE
    public @interface Stereotype

    アノテーション型がステレオタイプであることを指定します。

    多くのシステムでは、アーキテクチャパターンを使用すると、一連の繰り返し Bean ロールが生成されます。ステレオタイプを使用すると、フレームワーク開発者はそのようなロールを識別し、そのロールを持つ Bean の共通のメタデータを中心に宣言できます。

    Bean は、Bean クラスまたはプロデューサーメソッドまたはフィールドにステレオタイプアノテーションを適用することにより、ゼロ、1 つ、複数のステレオタイプを宣言できます。

    ステレオタイプは、以下の組み合わせをカプセル化します。

    • デフォルトのスコープ、および
    • インターセプターバインディングのセット。

    ステレオタイプのデフォルトのスコープは、ステレオタイプにスコープ型のアノテーションを付けることによって定義されます。ステレオタイプは最大で 1 つのスコープを宣言できます。Bean がスコープを明示的に宣言した場合、そのステレオタイプによって宣言されたデフォルトのスコープは無視されます。

     @RequestScoped
     @Stereotype
     @Target(TYPE)
     @Retention(RUNTIME)
     public @interface Action {
     }
     

    ステレオタイプのインターセプターバインディングは、ステレオタイプにインターセプターバインディング型のアノテーションを付けることによって定義されます。ステレオタイプは、0、1、または複数のインターセプターバインディングを宣言できます。ステレオタイプによって宣言されたインターセプターバインディングは、そのステレオタイプを宣言する Bean によって継承されます。

     @RequestScoped
     @Secure
     @Transactional
     @Stereotype
     @Target(TYPE)
     @Retention(RUNTIME)
     public @interface Action {
     }
     

    ステレオタイプでは、次のことも指定できます。

    • ステレオタイプのすべての Bean にはデフォルトの Bean EL 名があるか
    • ステレオタイプを持つすべての Bean が代替である、またはその
    • ステレオタイプを持つすべての Bean には、事前定義された @Priority があります。

    ステレオタイプは空の @Named アノテーションを宣言できます。これは、Bean によって名前が明示的に指定されていない場合に、ステレオタイプを持つすべての Bean にデフォルトの名前があることを指定します。

     @RequestScoped
     @Named
     @Secure
     @Transactional
     @Stereotype
     @Target(TYPE)
     @Retention(RUNTIME)
     public @interface Action {
     }
     

    ステレオタイプは、@Alternative アノテーションを宣言できます。これは、ステレオタイプを持つすべての Bean が代替であることを指定します。

     @Alternative
     @Stereotype
     @Target(TYPE)
     @Retention(RUNTIME)
     public @interface Mock {
     }
     

    ステレオタイプは、@Priority アノテーションを宣言することができます。これは、ステレオタイプを持つすべての Bean が有効であり、優先されることを指定します。

     @Alternative
     @Priority(1)
     @Stereotype
     @Target(TYPE)
     @Retention(RUNTIME)
     public @interface Mock {
     }
     

    ステレオタイプは他のステレオタイプを宣言できます。ステレオタイプ宣言は推移的です。2 番目のステレオタイプによって宣言されたステレオタイプは、2 番目のステレオタイプを宣言するすべての Bean およびその他のステレオタイプによって継承されます。

    作成者:
    Pete Muir, Gavin King
    関連事項:
    the built-in stereotype Model