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

インターフェース ContainerResponseContext


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

      • getStatus

        int getStatus()
        レスポンスに関連付けられたステータスコードを取得します。
        戻り値:
        レスポンスステータスコード。ステータスが設定されていない場合は -1。
      • setStatus

        void setStatus​(int code)
        新しいレスポンスステータスコードを設定します。
        パラメーター:
        code - 新しいステータスコード。
      • getStatusInfo

        Response.StatusType getStatusInfo()
        レスポンスに関連する完全なステータス情報を取得します。
        戻り値:
        レスポンスステータス情報、またはステータスが設定されていない場合は null 
      • setStatusInfo

        void setStatusInfo​(Response.StatusType statusInfo)
        レスポンスに関連付けられた完全なステータス情報(ステータスコードと理由フレーズ)を設定します。
        パラメーター:
        statusInfo - レスポンスステータス情報。
      • getHeaderString

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

        SetSE<StringSE> getAllowedMethods()
        Allow HTTP ヘッダーから許可された HTTP メソッドを取得します。
        戻り値:
        許可された HTTP メソッド。すべてのメソッドは大文字の文字列として返されます。
      • getDate

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

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

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

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

        MapSE<StringSE,​NewCookie> getCookies()
        レスポンスメッセージに設定された新しい Cookie を取得します。
        戻り値:
        new cookie へのクッキー名(文字列)の読み取り専用マップ。
      • getEntityTag

        EntityTag getEntityTag()
        エンティティタグを取得します。
        戻り値:
        エンティティタグ。それ以外の場合は null が存在しません。
      • getLastModified

        DateSE getLastModified()
        最終更新日を取得します。
        戻り値:
        最終更新日。存在しない場合は null
      • getLocation

        URISE getLocation()
        場所を取得します。
        戻り値:
        ロケーション URI。存在しない場合は null
      • getLinks

        SetSE<Link> getLinks()
        メッセージに添付されたリンクをヘッダーとして取得します。
        戻り値:
        リンク。リンクが存在しない場合、空の SetSE を返すことがあります。null を返しません。
      • hasLink

        boolean hasLink​(StringSE relation)
        リレーションのリンクが存在するかどうかを確認します。
        パラメーター:
        relation - リンク関係。
        戻り値:
        関係リンクのが存在する場合は true、それ以外の場合は false
      • getLink

        Link getLink​(StringSE relation)
        関係のリンクを取得します。
        パラメーター:
        relation - リンク関係。
        戻り値:
        リレーションのリンク。存在しない場合は null
      • getLinkBuilder

        Link.Builder getLinkBuilder​(StringSE relation)
        リレーションの Link.Builder を返す簡易メソッド。
        パラメーター:
        relation - リンク関係。
        戻り値:
        リレーションのリンクビルダー。それ以外の場合は null が存在しません。
      • hasEntity

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

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

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

        TypeSE getEntityType()
        一般的なエンティティ型情報を取得します。
        戻り値:
        宣言されたジェネリクスエンティティ型。
      • setEntity

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

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

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

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

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

        フィルターチェーンで以前に呼び出されたコンテナーレスポンスフィルターはエンティティアノテーション値を変更する可能性があることに注意してください。この場合、この getter メソッドは、フィルターチェーンで以前に呼び出されたコンテナーレスポンスフィルターによって設定された最後のアノテーション値を返します。

        例:

         @Path("my-resource")
         public class MyResource {
           private final Annotations[] extras = ... ;
        
           @GET
           @Custom
           public String getAnnotatedMe() {
             return Response.ok().entity("Annotated me", extras).build();
           }
           ...
         }
         

        上記の getMe() メソッドから返されたレスポンスのコンテナーレスポンスコンテキストには、getAnnotatedMe() メソッドで宣言されたすべてのアノテーション(@GET@Custom)と、extras フィールドからのすべてのアノテーションが含まれます(この値がコンテナーレスポンスに置き換えられていない場合)。以前に呼び出されたフィルター。

        同様に:

         @Custom
         public class AnnotatedMe { ... }
        
         @Path("my-resource")
         public class MyResource {
           private final Annotations[] extras = ... ;
        
           @GET
           public AnnotatedMe getMe() {
             return Response.ok().entity(new AnnotatedMe(), extras).build();
           }
           ...
         }
         

        値が以前に呼び出されたコンテナーレスポンスフィルターで置き換えられていない場合、上記の getMe() メソッドから返されたレスポンスのコンテナーレスポンスコンテキストには、getMe() メソッド(@GET)のすべてのアノテーションと extras のすべてのアノテーションが含まれます。フィールド。ただし、AnnotatedMe クラスで宣言されたアノテーションは含まれません。

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

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

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