@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.