パッケージ jakarta.interceptor

アノテーションインターフェース InterceptorBinding


@TargetSE(ANNOTATION_TYPESE) @RetentionSE(RUNTIMESE) @DocumentedSE public @interface InterceptorBinding
アノテーション型がインターセプターバインディング型であることを指定します。
 @Inherited
 @InterceptorBinding
 @Target({ TYPE, METHOD, CONSTRUCTOR })
 @Retention(RUNTIME)
 public @interface Valid {
 }
 

インターセプターバインディングは、インターセプターをターゲット Bean に関連付けるために使用できる中間アノテーションです。

インターセプターのインターセプターバインディングは、バインディング型と Interceptor アノテーションでインターセプタークラスにアノテーションを付けることによって指定されます。

 @Valid @Interceptor
 public class ValidationInterceptor { ... }
 

インターセプターは、複数のインターセプターバインディングを指定できます。

Bean のインターセプターバインディングは、Bean クラス、Bean クラスのメソッド、Bean クラスのコンストラクターにインターセプターバインディング型のアノテーションを付けることで宣言できます。

 @Valid
 public class Order { ... }
 
 @Valid @Secure
 public void updateOrder(Order order) { ... }
 
 @Valid
 public Order(...) { ... }
 

Bean クラスまたは Bean クラスのメソッドは、複数のインターセプターバインディングを宣言できます。

インターセプターバインディング型は、他のインターセプターバインディングを宣言できます。

 @Inherited
 @InterceptorBinding
 @Target({ TYPE, METHOD })
 @Retention(RUNTIME)
 @Valid
 public @interface Secure {
 }
 

インターセプターバインディングは推移的です。インターセプターバインディング型によって宣言されたインターセプターバインディングは、そのインターセプターバインディング型を宣言するすべての Bean および他のインターセプターバインディング型によって継承されます。

導入:
Jakarta Interceptors 1.1
関連事項: