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

インターフェース ContainerRequestContext


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

    修飾子と型
    メソッド
    説明
    void
    レスポンスでフィルターチェーンを中止します。
    boolean
    containsHeaderString(StringSE name, StringSE valueSeparatorRegex, PredicateSE<StringSE> valuePredicate)
    特定の名前と値 (またはトークン区切り値リストの項目) を持つヘッダーが存在するかどうかを確認します。
    default boolean
    特定の名前と値 (またはコンマ区切り値リストの項目) を持つヘッダーが存在するかどうかを確認します。
    レスポンスに受け入れられる言語のリストを取得します。
    レスポンスに受け入れられるメディア型のリストを取得します。
    リクエストに付随する Cookie を取得します。
    メッセージの日付を取得します。
    エンティティ入力ストリームを取得します。
    変更可能なリクエストヘッダーの多値マップを取得します。
    メッセージヘッダーを単一の文字列値として取得します。
    エンティティの言語を取得します。
    int
    Content-Length 値を取得します。
    エンティティのメディア型を取得します。
    リクエストメソッドを取得します。
    現在のリクエスト / レスポンス交換コンテキストに登録されている指定された名前のプロパティを返します。その名前のプロパティがない場合は null を返します。
    現在のリクエスト / レスポンス交換コンテキストのコンテキスト内で使用可能なプロパティ名を含む不変の collectionSE を返します。
    挿入可能なリクエスト情報を取得します。
    現在のリクエストの挿入可能なセキュリティコンテキスト情報を取得します。
    リクエスト URI 情報を取得します。
    boolean
    リクエストメッセージで使用可能な空でないエンティティ入力ストリームがあるかどうかを確認します。
    default boolean
    指定された名前のプロパティが現在のリクエスト / レスポンス交換コンテキストに登録されている場合は true を返し、その名前のプロパティが存在しない場合は false を返します。
    void
    現在のリクエスト / レスポンス交換コンテキストから、指定された名前のプロパティを削除します。
    void
    新しいエンティティ入力ストリームを設定します。
    void
    リクエストメソッドを設定します。
    void
    現在のリクエスト / レスポンス交換コンテキスト内の指定されたプロパティ名にオブジェクトをバインドします。
    void
    setRequestUri(URISE requestUri)
    アプリケーション固有のリクエスト URI 部分を解決するために、アプリケーションの現在のベース URI を使用して新しいリクエスト URI を設定します。
    void
    setRequestUri(URISE baseUri, URISE requestUri)
    新しいベース URI を使用して新しいリクエスト URI を設定し、アプリケーション固有のリクエスト URI 部分を解決します。
    void
    現在のリクエストに新しい挿入可能なセキュリティコンテキスト情報を設定します。
  • 方法の詳細

    • getProperty

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

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

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

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

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

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

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

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

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

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

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

      戻り値:
      プロパティ名の不変の collectionSE
      関連事項:
    • 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

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

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

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

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

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

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

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

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

      変更可能なリクエストヘッダーの多値マップを取得します。
      戻り値:
      リクエストヘッダーの可変多値マップ。
      関連事項:
    • getHeaderString

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

      boolean containsHeaderString(StringSE name, StringSE valueSeparatorRegex, PredicateSE<StringSE> valuePredicate)
      特定の名前と値 (またはトークン区切り値リストの項目) を持つヘッダーが存在するかどうかを確認します。

      次に例を示します: containsHeaderString("cache-control", ",", "no-store"::equalsIgnoreCase) は、値 no-store、値 No-Store、または値 Max-Age, NO-STORE, no-transform を持つ Cache-Control ヘッダーが存在する場合は true を返しますが、値 no-store;no-transform (カンマが欠落) または値 no - store (値内に空白がある) を持つ場合は false を返します。

      パラメーター:
      name - メッセージヘッダー。
      valueSeparatorRegex - ヘッダー値を単一の値に分割する正規表現。null は分割しません。
      valuePredicate - 値はこの述語を満たす必要があります。
      戻り値:
      指定された名前のヘッダーが存在し、述語に一致する空白で切り取られた値を持つか、トークンで区切られた単一値のリスト内に少なくとも 1 つの空白で切り取られた単一値を持つ場合にのみ、true になります。
      導入:
      4.0
      関連事項:
    • containsHeaderString

      default boolean containsHeaderString(StringSE name, PredicateSE<StringSE> valuePredicate)
      特定の名前と値 (またはコンマ区切り値リストの項目) を持つヘッダーが存在するかどうかを確認します。

      次に例を示します: containsHeaderString("cache-control", "no-store"::equalsIgnoreCase) は、値 no-store、値 No-Store、または値 Max-Age, NO-STORE, no-transform を持つ Cache-Control ヘッダーが存在する場合は true を返しますが、値 no-store;no-transform (カンマが欠落) または値 no - store (値内に空白がある) を持つ場合は false を返します。

      パラメーター:
      name - メッセージヘッダー。
      valuePredicate - 値はこの述語を満たす必要があります。
      戻り値:
      指定された名前のヘッダーが存在し、述語に一致する空白で切り取られた値を持つか、コンマで区切られた単一値のリスト内に少なくとも 1 つの空白で切り取られた単一値を持つ場合にのみ、true になります。
      導入:
      4.0
      関連事項:
    • 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 - メソッドがレスポンスフィルターから呼び出された場合。