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

インターフェース ContainerRequestContext


  • public interface ContainerRequestContext
    コンテナーリクエストフィルターコンテキスト。リクエスト URI、メッセージヘッダー、メッセージエンティティ、リクエストスコープのプロパティなど、フィルターのリクエスト固有の情報を提供する変更可能なクラス。公開された setter により、公開されたリクエスト固有の情報を変更できます。
    導入:
    2.0
    作成者:
    Marek Potociar
    • メソッドのサマリー

      すべてのメソッド   インスタンスメソッド   抽象メソッド   デフォルトメソッド  
      修飾子と型 メソッド 説明
      voidabortWith​(Response response)
      レスポンスでフィルターチェーンを中止します。
      ListSE<LocaleSE>getAcceptableLanguages()
      レスポンスに受け入れられる言語のリストを取得します。
      ListSE<MediaType>getAcceptableMediaTypes()
      レスポンスに受け入れられるメディア型のリストを取得します。
      MapSE<StringSE,​Cookie>getCookies()
      リクエストに付随する Cookie を取得します。
      DateSEgetDate()
      メッセージの日付を取得します。
      InputStreamSEgetEntityStream()
      エンティティ入力ストリームを取得します。
      MultivaluedMap<StringSE,​StringSE>getHeaders()
      変更可能なリクエストヘッダーの多値マップを取得します。
      StringSEgetHeaderString​(StringSE name)
      メッセージヘッダーを単一の文字列値として取得します。
      LocaleSEgetLanguage()
      エンティティの言語を取得します。
      intgetLength()
      Content-Length 値を取得します。
      MediaTypegetMediaType()
      エンティティのメディア型を取得します。
      StringSEgetMethod()
      リクエストメソッドを取得します。
      ObjectSEgetProperty​(StringSE name)
      現在のリクエスト / レスポンス交換コンテキストに登録されている指定された名前のプロパティを返します。その名前のプロパティがない場合は null を返します。
      CollectionSE<StringSE>getPropertyNames()
      現在のリクエスト / レスポンス交換コンテキストのコンテキスト内で使用可能なプロパティ名を含む不変の collectionSE を返します。
      RequestgetRequest()
      挿入可能なリクエスト情報を取得します。
      SecurityContextgetSecurityContext()
      現在のリクエストの挿入可能なセキュリティコンテキスト情報を取得します。
      UriInfogetUriInfo()
      リクエスト URI 情報を取得します。
      booleanhasEntity()
      リクエストメッセージで使用可能な空でないエンティティ入力ストリームがあるかどうかを確認します。
      default booleanhasProperty​(StringSE name)
      指定された名前のプロパティが現在のリクエスト / レスポンス交換コンテキストに登録されている場合は true を返し、その名前のプロパティが存在しない場合は false を返します。
      voidremoveProperty​(StringSE name)
      現在のリクエスト / レスポンス交換コンテキストから、指定された名前のプロパティを削除します。
      voidsetEntityStream​(InputStreamSE input)
      新しいエンティティ入力ストリームを設定します。
      voidsetMethod​(StringSE method)
      リクエストメソッドを設定します。
      voidsetProperty​(StringSE name, ObjectSE object)
      現在のリクエスト / レスポンス交換コンテキスト内の指定されたプロパティ名にオブジェクトをバインドします。
      voidsetRequestUri​(URISE requestUri)
      アプリケーション固有のリクエスト URI 部分を解決するために、アプリケーションの現在のベース URI を使用して新しいリクエスト URI を設定します。
      voidsetRequestUri​(URISE baseUri, URISE requestUri)
      新しいベース URI を使用して新しいリクエスト URI を設定し、アプリケーション固有のリクエスト URI 部分を解決します。
      voidsetSecurityContext​(SecurityContext context)
      現在のリクエストに新しい挿入可能なセキュリティコンテキスト情報を設定します。
    • メソッドの詳細

      • getProperty

        ObjectSE getProperty​(StringSE name)
        現在のリクエスト / レスポンス交換コンテキストに登録されている指定された名前のプロパティを返します。その名前のプロパティがない場合は null を返します。

        プロパティを使用すると、JAX-RS フィルターとインターセプターがこのインターフェースでまだ提供されていない追加のカスタム情報を交換できます。

        サポートされているプロパティのリストは、getPropertyNames() を使用して取得できます。カスタムプロパティ名は、パッケージ名と同じ規則に従う必要があります。

        サーブレットコンテナーでは、プロパティは ServletRequest と同期され、ServletRequest で利用可能なすべての属性を公開します。プロパティの変更は、関連する ServletRequest のプロパティセットにも反映されます。

        パラメーター:
        name - プロパティの名前を指定する String
        戻り値:
        プロパティの値を含む Object、または指定された名前に一致するプロパティが存在しない場合は null 
        関連事項:
        getPropertyNames()
      • hasProperty

        default boolean hasProperty​(StringSE name)
        指定された名前のプロパティが現在のリクエスト / レスポンス交換コンテキストに登録されている場合は true を返し、その名前のプロパティが存在しない場合は false を返します。

        getProperty(java.lang.String) メソッドとプロパティ名を使用して、プロパティの値を取得します。

        パラメーター:
        name - プロパティの名前を指定する String
        戻り値:
        このプロパティがコンテキストに登録されている場合は true、指定された名前に一致するプロパティが存在しない場合は false
        関連事項:
        getPropertyNames()
      • getPropertyNames

        CollectionSE<StringSE> getPropertyNames()
        現在のリクエスト / レスポンス交換コンテキストのコンテキスト内で使用可能なプロパティ名を含む不変の collectionSE を返します。

        getProperty(java.lang.String) メソッドとプロパティ名を使用して、プロパティの値を取得します。

        サーブレットコンテナーでは、プロパティは ServletRequest と同期され、ServletRequest で利用可能なすべての属性を公開します。プロパティの変更は、関連する ServletRequest のプロパティセットにも反映されます。

        戻り値:
        プロパティ名の不変の collectionSE
        関連事項:
        getProperty(java.lang.String)
      • setProperty

        void setProperty​(StringSE name,
                         ObjectSE object)
        現在のリクエスト / レスポンス交換コンテキスト内の指定されたプロパティ名にオブジェクトをバインドします。指定した名前がすでにプロパティに使用されている場合、このメソッドはプロパティの値を新しい値に置き換えます。

        プロパティを使用すると、JAX-RS フィルターとインターセプターがこのインターフェースでまだ提供されていない追加のカスタム情報を交換できます。

        サポートされているプロパティのリストは、getPropertyNames() を使用して取得できます。カスタムプロパティ名は、パッケージ名と同じ規則に従う必要があります。

        null 値が渡される場合、効果は removeProperty(String) メソッドを呼び出すのと同じです。

        サーブレットコンテナーでは、プロパティは ServletRequest と同期され、ServletRequest で利用可能なすべての属性を公開します。プロパティの変更は、関連する ServletRequest のプロパティセットにも反映されます。

        パラメーター:
        name - プロパティの名前を指定する String
        object - バインドされるプロパティを表す Object 
      • removeProperty

        void removeProperty​(StringSE name)
        現在のリクエスト / レスポンス交換コンテキストから、指定された名前のプロパティを削除します。削除後、getProperty(java.lang.String) を呼び出してプロパティ値を取得すると、null が返されます。

        サーブレットコンテナーでは、プロパティは ServletRequest と同期され、ServletRequest で利用可能なすべての属性を公開します。プロパティの変更は、関連する ServletRequest のプロパティセットにも反映されます。

        パラメーター:
        name - 削除するプロパティの名前を指定する String 
      • getUriInfo

        UriInfo getUriInfo()
        リクエスト URI 情報を取得します。返されたオブジェクトには、setRequestUri(...) メソッドの 1 つを使用してリクエスト URI に加えられた変更が、以前に返された UriInfo インスタンスに反映されるという意味で、リクエスト URI 情報の「ライブ」ビューが含まれます。
        戻り値:
        URI 情報をリクエストします。
      • setRequestUri

        void setRequestUri​(URISE requestUri)
        アプリケーション固有のリクエスト URI 部分を解決するために、アプリケーションの現在のベース URI を使用して新しいリクエスト URI を設定します。

        このメソッドは、リソースマッチングが発生する前に、事前マッチングフィルターでのみ使用できることに注意してください。リソースメソッドにバインドされたフィルターでメソッドを呼び出そうとすると、IllegalStateExceptionSE がスローされます。

        パラメーター:
        requestUri - リクエストの新しい URI。
        例外:
        IllegalStateExceptionSE - メソッドが pre-matching リクエストフィルターから呼び出されない場合。
        関連事項:
        setRequestUri(java.net.URI, java.net.URI)
      • setRequestUri

        void setRequestUri​(URISE baseUri,
                           URISE requestUri)
        新しいベース URI を使用して新しいリクエスト URI を設定し、アプリケーション固有のリクエスト URI 部分を解決します。

        このメソッドは、リソースマッチングが発生する前に、事前マッチングフィルターでのみ使用できることに注意してください。リソースメソッドにバインドされたフィルターでメソッドを呼び出そうとすると、IllegalStateExceptionSE がスローされます。

        パラメーター:
        baseUri - リクエスト URI のアプリケーション固有の部分を解決するために使用されるベース URI。
        requestUri - リクエストの新しい URI。
        例外:
        IllegalStateExceptionSE - メソッドが pre-matching リクエストフィルターから呼び出されない場合。
        関連事項:
        setRequestUri(java.net.URI)
      • getRequest

        Request getRequest()
        挿入可能なリクエスト情報を取得します。
        戻り値:
        注入可能なリクエスト情報。
      • getMethod

        StringSE getMethod()
        リクエストメソッドを取得します。
        戻り値:
        リクエストメソッド。
        関連事項:
        HttpMethod
      • setMethod

        void setMethod​(StringSE method)
        リクエストメソッドを設定します。

        このメソッドは、リソースマッチングが発生する前に、事前マッチングフィルターでのみ使用できることに注意してください。リソースメソッドにバインドされたフィルターでメソッドを呼び出そうとすると、IllegalStateExceptionSE がスローされます。

        パラメーター:
        method - 新しいリクエストメソッド。
        例外:
        IllegalStateExceptionSE - メソッドが pre-matching リクエストフィルターから呼び出されない場合。
        関連事項:
        HttpMethod
      • getHeaderString

        StringSE getHeaderString​(StringSE name)
        メッセージヘッダーを単一の文字列値として取得します。
        パラメーター:
        name - メッセージヘッダー。
        戻り値:
        メッセージヘッダー値。メッセージヘッダーが存在しない場合は、null が返されます。メッセージヘッダーは存在するが値がない場合は、空の文字列が返されます。メッセージヘッダーが複数存在する場合、の値は結合され、"," 文字で区切られます。
        関連事項:
        getHeaders()
      • getDate

        DateSE getDate()
        メッセージの日付を取得します。
        戻り値:
        メッセージの日付。それ以外の場合は null が存在しません。
      • getLanguage

        LocaleSE getLanguage()
        エンティティの言語を取得します。
        戻り値:
        エンティティの言語、または指定されていない場合は null 
      • getLength

        int getLength()
        Content-Length 値を取得します。
        戻り値:
        存在する場合は整数としての Content-Length と有効な数値。その他の場合は -1 を返します。
      • getMediaType

        MediaType getMediaType()
        エンティティのメディア型を取得します。
        戻り値:
        メディア型、または指定されていない場合は null (例: リクエストエンティティがない)
      • getAcceptableMediaTypes

        ListSE<MediaType> getAcceptableMediaTypes()
        レスポンスに受け入れられるメディア型のリストを取得します。
        戻り値:
        q-value に従ってソートされた、リクエストされたレスポンスメディア型の読み取り専用リスト。
      • getAcceptableLanguages

        ListSE<LocaleSE> getAcceptableLanguages()
        レスポンスに受け入れられる言語のリストを取得します。
        戻り値:
        q 値に従ってソートされた受け入れ可能な言語の読み取り専用リスト。優先順位が最も高いものが最初です。
      • getCookies

        MapSE<StringSE,​Cookie> getCookies()
        リクエストに付随する Cookie を取得します。
        戻り値:
        Cookie へのクッキー名(文字列)の読み取り専用マップ。
      • hasEntity

        boolean hasEntity()
        リクエストメッセージで使用可能な空でないエンティティ入力ストリームがあるかどうかを確認します。このメソッドは、エンティティが存在する場合は true を返し、存在しない場合は false を返します。
        戻り値:
        メッセージにエンティティが存在する場合は true、それ以外の場合は false
      • getEntityStream

        InputStreamSE getEntityStream()
        エンティティ入力ストリームを取得します。JAX-RS ランタイムは、入力ストリームを閉じるロールを果たします。
        戻り値:
        エンティティ入力ストリーム。
      • setEntityStream

        void setEntityStream​(InputStreamSE input)
        新しいエンティティ入力ストリームを設定します。JAX-RS ランタイムは、入力ストリームを閉じるロールを果たします。
        パラメーター:
        input - 新しいエンティティ入力ストリーム。
        例外:
        IllegalStateExceptionSE - メソッドがレスポンスフィルターから呼び出された場合。
      • getSecurityContext

        SecurityContext getSecurityContext()
        現在のリクエストの注入可能なセキュリティコンテキスト情報を取得します。現在のリクエストが認証されていない場合、SecurityContext.getUserPrincipal() は null を返す必要があります。
        戻り値:
        インジェクタブルリクエストのセキュリティコンテキスト情報。
      • setSecurityContext

        void setSecurityContext​(SecurityContext context)
        現在のリクエストに新しい注入可能なセキュリティコンテキスト情報を設定します。現在のリクエストが認証されていない場合、SecurityContext.getUserPrincipal() は null を返す必要があります。
        パラメーター:
        context - 新しい注入可能なリクエストのセキュリティコンテキスト情報。
        例外:
        IllegalStateExceptionSE - メソッドがレスポンスフィルターから呼び出された場合。
      • abortWith

        void abortWith​(Response response)
        レスポンスでフィルターチェーンを中止します。このメソッドは、フィルターチェーン処理を中断し、提供されたレスポンスをクライアントに返します。提供されたレスポンスは、適用可能なレスポンスフィルターのチェーンを通過します。
        パラメーター:
        response - クライアントに返送されるレスポンス。
        例外:
        IllegalStateExceptionSE - メソッドがレスポンスフィルターから呼び出された場合。