パッケージ 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
- 関連事項: