@TargetSE(valueSE=TYPESE) @RetentionSE(valueSE=RUNTIMESE) @DocumentedSE public @interface ConstrainedTo
@ConstrainedTo
アノテーションがプロバイダー型宣言に存在しない場合、宣言されたプロバイダーは任意のランタイムコンテキストで使用できます。そのようなアノテーションが存在する場合、ランタイムは指定された使用制限を適用します。 次の例は、MessageBodyReader
プロバイダーの実装を Client run-time
の一部としてのみ実行するように制限することを示しています。
@ConstrainedTo(RuntimeType.CLIENT) public class MyReader implements MessageBodyReader { ... }
次の例は、WriterInterceptor
プロバイダーの実装を Server run-time
の一部としてのみ実行するように制限することを示しています。
@ConstrainedTo(RuntimeType.SERVER) public class MyWriterInterceptor implements WriterInterceptor { ... }
プロバイダーを適用できないランタイムコンテキストにプロバイダーの実装を制約するのは構成エラーです。そのような場合、ランタイムはユーザーに課題について通知し、その後の処理でプロバイダーの実装を無視する必要があります(SHOULD)。
例: サーバーランタイムの一部としてのみ実行するという ClientRequestFilter
の次の制限は無効と見なされます。
// reported as invalid and ignored by the runtime @ConstrainedTo(RuntimeType.SERVER) public class MyFilter implements ClientRequestFilter { ... }
修飾子と型 | 必須要素と説明 |
---|---|
RuntimeType | value プロバイダーに配置する constraint type を定義します。 |
public abstract RuntimeType value
constraint type
を定義します。Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.