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

インターフェース ClientRequestContext


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

    修飾子と型
    メソッド
    説明
    void
    レスポンスでフィルターチェーンを中止します。
    boolean
    containsHeaderString(StringSE name, StringSE valueSeparatorRegex, PredicateSE<StringSE> valuePredicate)
    特定の名前と値 (またはトークン区切り値リストの項目) を持つヘッダーが存在するかどうかを確認します。
    default boolean
    特定の名前と値 (またはコンマ区切り値リストの項目) を持つヘッダーが存在するかどうかを確認します。
    レスポンスに受け入れられる言語のリストを取得します。
    レスポンスに受け入れられるメディア型のリストを取得します。
    リクエストに関連付けられたクライアントインスタンスを取得します。
    リクエストの不変の設定を取得します。
    リクエストに付随する Cookie を取得します。
    メッセージの日付を取得します。
    メッセージエンティティの Java インスタンスを取得します。
    エンティティインスタンスに添付されたアノテーションを取得します。
    生のエンティティ型情報を取得します。
    エンティティ出力ストリームを取得します。
    一般的なエンティティ型情報を取得します。
    変更可能なリクエストヘッダーの多値マップを取得します。
    メッセージヘッダーを単一の文字列値として取得します。
    エンティティの言語を取得します。
    エンティティのメディア型を取得します。
    リクエストメソッドを取得します。
    現在のリクエスト / レスポンス交換コンテキストに登録されている指定された名前のプロパティを返します。その名前のプロパティがない場合は null を返します。
    現在のリクエスト / レスポンス交換コンテキストのコンテキスト内で使用可能なプロパティ名を含む不変の collectionSE を返します。
    メッセージに関連付けられたヘッダー値の文字列ビューを取得します。
    リクエスト URI を取得します。
    boolean
    リクエストで利用可能なエンティティがあるかどうかを確認します。
    default boolean
    指定された名前のプロパティが現在のリクエスト / レスポンス交換コンテキストに登録されている場合は true を返し、その名前のプロパティが存在しない場合は false を返します。
    void
    現在のリクエスト / レスポンス交換コンテキストから、指定された名前のプロパティを削除します。
    void
    新しいメッセージエンティティを設定します。
    void
    setEntity(ObjectSE entity, AnnotationSE[] annotations, MediaType mediaType)
    添付されたアノテーションとメディア型を含む、新しいメッセージエンティティを設定します。
    void
    新しいエンティティ出力ストリームを設定します。
    void
    リクエストメソッドを設定します。
    void
    現在のリクエスト / レスポンス交換コンテキスト内の指定されたプロパティ名にオブジェクトをバインドします。
    void
    新しいリクエスト URI を設定します。
  • 方法の詳細

    • getProperty

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

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

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

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

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

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

      戻り値:
      プロパティ名の不変の collectionSE
      関連事項:
    • hasProperty

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

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

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

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

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

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

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

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

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

      URISE getUri()
      リクエスト URI を取得します。
      戻り値:
      リクエスト URI。
    • setUri

      void setUri(URISE uri)
      新しいリクエスト URI を設定します。
      パラメーター:
      uri - 新しいリクエスト URI。
    • getMethod

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

      void setMethod(StringSE method)
      リクエストメソッドを設定します。
      パラメーター:
      method - 新しいリクエストメソッド。
      関連事項:
    • getHeaders

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

      MultivaluedMap<StringSE,StringSE> getStringHeaders()
      メッセージに関連付けられたヘッダー値の文字列ビューを取得します。基になる headers map の変更は、このビューに反映されます。

      このメソッドは、値のクラスに RuntimeDelegate.createHeaderDelegate(java.lang.Class) を介して使用できる場合は RuntimeDelegate.HeaderDelegate を使用し、ヘッダーデリゲートが使用できない場合は値 toString メソッドを使用して、非文字列ヘッダー値を文字列に変換します。

      戻り値:
      ヘッダー値の文字列ビューとしてのレスポンスヘッダー。
      関連事項:
    • getHeaderString

      StringSE getHeaderString(StringSE name)
      メッセージヘッダーを単一の文字列値として取得します。各単一の非文字列ヘッダー値は、ヘッダー値クラスの RuntimeDelegate.createHeaderDelegate(java.lang.Class) を介して使用可能な場合は RuntimeDelegate.HeaderDelegate を使用して文字列に変換され、ヘッダーデリゲートが使用できない場合は toString メソッドを使用して文字列に変換されます。
      パラメーター:
      name - メッセージヘッダー。
      戻り値:
      メッセージヘッダー値。メッセージヘッダーが存在しない場合は、null が返されます。メッセージヘッダーは存在するが値がない場合は、空の文字列が返されます。メッセージヘッダーが複数存在する場合、の値は結合され、"," 文字で区切られます。
      関連事項:
    • containsHeaderString

      boolean containsHeaderString(StringSE name, StringSE valueSeparatorRegex, PredicateSE<StringSE> valuePredicate)
      特定の名前と値 (またはトークンで区切られた値のリストの項目) を持つヘッダーが存在するかどうかを確認します。各非文字列ヘッダー値は、ヘッダー値クラスの RuntimeDelegate.createHeaderDelegate(java.lang.Class) を介して使用可能な場合は RuntimeDelegate.HeaderDelegate を使用して文字列に変換され、ヘッダーデリゲートが使用できない場合は toString メソッドを使用して文字列に変換されます。

      次に例を示します: 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)
      特定の名前と値 (またはコンマ区切り値リストの項目) を持つヘッダーが存在するかどうかを確認します。各非文字列ヘッダー値は、ヘッダー値クラスの RuntimeDelegate.createHeaderDelegate(java.lang.Class) を介して使用可能な場合は RuntimeDelegate.HeaderDelegate を使用して文字列に変換され、ヘッダーデリゲートが使用できない場合は toString メソッドを使用して文字列に変換されます。

      次に例を示します: 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 
    • 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
    • getEntity

      ObjectSE getEntity()
      メッセージエンティティの Java インスタンスを取得します。メッセージにエンティティが含まれていない場合は、null を返します。
      戻り値:
      メッセージエンティティ、またはメッセージにエンティティボディが含まれていない場合は null 
    • getEntityClass

      ClassSE<?> getEntityClass()
      生のエンティティ型情報を取得します。
      戻り値:
      未加工のエンティティ型。
    • getEntityType

      TypeSE getEntityType()
      一般的なエンティティ型情報を取得します。
      戻り値:
      汎用エンティティ型。
    • setEntity

      void setEntity(ObjectSE entity)
      新しいメッセージエンティティを設定します。既存のエンティティ annotations および media type は保持されます。

      ジェネリクス型の保持が必要な場合、実際のエンティティを GenericEntity でラップするのは呼び出し側の責任です。

      パラメーター:
      entity - エンティティオブジェクト。
      関連事項:
    • setEntity

      void setEntity(ObjectSE entity, AnnotationSE[] annotations, MediaType mediaType)
      添付されたアノテーションとメディア型を含む、新しいメッセージエンティティを設定します。

      ジェネリクス型の保持が必要な場合、実際のエンティティを GenericEntity でラップするのは呼び出し側の責任です。

      パラメーター:
      entity - エンティティオブジェクト。
      annotations - エンティティインスタンスに添付されたアノテーション。
      mediaType - エンティティメディア型。
      関連事項:
    • getEntityAnnotations

      AnnotationSE[] getEntityAnnotations()
      エンティティインスタンスに添付されたアノテーションを取得します。

      返されたアノテーション配列には、エンティティインスタンスに明示的にアタッチされたアノテーション (Entity(Object, jakarta.ws.rs.core.MediaType, java.lang.annotation.Annotation[]) メソッドを使用してアタッチされたアノテーションなど) のみが含まれることに注意してください。エンティティインスタンスのアノテーション配列には、エンティティ実装クラスまたはその先祖で宣言されたアノテーションは含まれません。

      戻り値:
      エンティティインスタンスに添付されたアノテーション。
    • getEntityStream

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

      void setEntityStream(OutputStreamSE outputStream)
      新しいエンティティ出力ストリームを設定します。JAX-RS ランタイムは、出力ストリームを閉じるロールを果たします。
      パラメーター:
      outputStream - 新しいエンティティ出力ストリーム。
    • getClient

      Client getClient()
      リクエストに関連付けられたクライアントインスタンスを取得します。
      戻り値:
      リクエストに関連付けられたクライアントインスタンス。
    • getConfiguration

      Configuration getConfiguration()
      リクエストの不変の設定を取得します。
      戻り値:
      不変のリクエスト構成。
    • abortWith

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