パッケージ jakarta.ws.rs.ext

クラス RuntimeDelegate


  • public abstract class RuntimeDelegate
    extends ObjectSE
    JAX-RS の実装は、RuntimeDelegate の具象サブクラスを提供し、さまざまな JAX-RS API メソッドは、その機能について RuntimeDelegate のメソッドに従います。JAX-RS の通常のユーザーは、このクラスを直接使用することは期待されておらず、ユーザーが指定したサブクラスでこのクラスの実装をオーバーライドすると、予期しない動作が発生する可能性があります。
    導入:
    1.0
    作成者:
    Paul Sandoz, Marc Hadley
    • コンストラクターの詳細

      • RuntimeDelegate

        protected RuntimeDelegate()
        カスタム実装が RuntimeDelegate クラスを継承できるようにします。
    • メソッドの詳細

      • getInstance

        public static RuntimeDelegate getInstance()
        RuntimeDelegate インスタンスを取得します。インスタンスがまだ作成されておらず、setInstance(RuntimeDelegate) を介して設定されていない場合、最初の呼び出しでインスタンスが作成され、将来の使用のためにキャッシュされます。

        使用する RuntimeDelegate サブクラスを見つけるために使用されるアルゴリズムは、次の手順で構成されています。

        • META-INF/services/jakarta.ws.rs.ext.RuntimeDelegate という名前のリソースが存在する場合、その最初の行が存在する場合は、実装クラスの UTF-8 エンコード名として使用されます。
        • $java.home/lib/jaxrs.properties ファイルが存在し、java.util.Properties.load(InputStream) メソッドで読み取り可能であり、キーが jakarta.ws.rs.ext.RuntimeDelegate であるエントリが含まれている場合、そのエントリの値が実装クラスの名前として使用されます。
        • jakarta.ws.rs.ext.RuntimeDelegate という名前のシステムプロパティが定義されている場合、その値が実装クラスの名前として使用されます。
        • 最後に、デフォルトの実装クラス名が使用されます。
        戻り値:
        RuntimeDelegate のインスタンス。
      • setInstance

        public static void setInstance​(RuntimeDelegate rd)
        JAX-RS クラスで使用されるランタイムデリゲートを設定します。このメソッドが getInstance() の前に呼び出されない場合は、getInstance() に従って実装が求められます。
        パラメーター:
        rd - ランタイムデリゲートインスタンス
        例外:
        SecurityExceptionSE - セキュリティマネージャーが存在し、権限 ReflectPermission("suppressAccessChecks" ) が付与されていない場合。
      • createUriBuilder

        public abstract UriBuilder createUriBuilder()
        UriBuilder の新しいインスタンスを作成します。
        戻り値:
        新しい UriBuilder インスタンス。
        関連事項:
        UriBuilder
      • createEndpoint

        public abstract <T> T createEndpoint​(Application application,
                                             ClassSE<T> endpointType)
                                      throws IllegalArgumentExceptionSE,
                                             UnsupportedOperationExceptionSE
        指定されたエンドポイント型の構成済みインスタンスを作成します。返されるエンドポイントインスタンスがどのように公開されるかは、エンドポイントの型によって異なります。
        型パラメーター:
        T - エンドポイント型。
        パラメーター:
        application - アプリケーション構成。
        endpointType - 作成するエンドポイントインスタンスの型。
        戻り値:
        リクエストされた型の構成済みインスタンス。
        例外:
        IllegalArgumentExceptionSE - アプリケーションが null の場合、またはリクエストされたエンドポイント型がサポートされていない場合。
        UnsupportedOperationExceptionSE - 実装がエンドポイント型をサポートしていない場合。
      • createLinkBuilder

        public abstract Link.Builder createLinkBuilder()
        Link.Builder の新しいインスタンスを作成します。
        戻り値:
        新しい Link.Builder インスタンス。
        関連事項:
        Link.Builder
      • bootstrap

        public abstract CompletionStageSE<SeBootstrap.Instance> bootstrap​(ClassSE<? extends Application> clazz,
                                                                        SeBootstrap.Configuration configuration)
        Java SE 環境でアプリケーションの起動を行います。

        このメソッドは、アプリケーションによって呼び出されることを意図していません。代わりに SeBootstrap.start(Class, SeBootstrap.Configuration) を呼び出してください

        パラメーター:
        clazz - インスタンス化して開始するアプリケーションクラス。
        configuration - ブートストラップ構成。
        戻り値:
        実行中のアプリケーション instance のハンドルを非同期的に生成する CompletionStage
      • createEntityPartBuilder

        public abstract EntityPart.Builder createEntityPartBuilder​(StringSE partName)
                                                            throws IllegalArgumentExceptionSE
        EntityPart.Builder の新しいインスタンスを作成します。

        このメソッドは、アプリケーションによって呼び出されることを意図していません。代わりに EntityPart.withName(String) を呼び出してください

        パラメーター:
        partName - マルチパートボディ内のこのパートの名前。
        戻り値:
        指定された部品名を持つ新しい EntityPart.Builder インスタンス
        例外:
        IllegalArgumentExceptionSE - partName が null の場合。
        導入:
        3.1