インターフェース ContainerResponseContext
public interface ContainerResponseContext
コンテナーレスポンスフィルターのコンテキスト。メッセージヘッダー、メッセージエンティティ、リクエストスコープのプロパティなど、フィルターのレスポンス固有の情報を提供する可変クラス。公開された setter により、公開されたレスポンス固有の情報を変更できます。- 導入:
- 2.0
- 作成者:
- Marek Potociar
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 SetSE<StringSE>
getAllowedMethods()
Allow HTTP ヘッダーから許可された HTTP メソッドを取得します。MapSE<StringSE,NewCookie>
getCookies()
レスポンスメッセージに設定された新しい Cookie を取得します。DateSE
getDate()
メッセージの日付を取得します。ObjectSE
getEntity()
メッセージエンティティの Java インスタンスを取得します。AnnotationSE[]
getEntityAnnotations()
エンティティインスタンスに添付されたアノテーションを取得します。ClassSE<?>
getEntityClass()
生のエンティティ型情報を取得します。OutputStreamSE
getEntityStream()
エンティティ出力ストリームを取得します。EntityTag
getEntityTag()
エンティティタグを取得します。TypeSE
getEntityType()
一般的なエンティティ型情報を取得します。MultivaluedMap<StringSE,ObjectSE>
getHeaders()
可変レスポンスヘッダーの多値マップを取得します。StringSE
getHeaderString(StringSE name)
メッセージヘッダーを単一の文字列値として取得します。LocaleSE
getLanguage()
エンティティの言語を取得します。DateSE
getLastModified()
最終更新日を取得します。int
getLength()
Content-Length 値を取得します。Link
getLink(StringSE relation)
関係のリンクを取得します。Link.Builder
getLinkBuilder(StringSE relation)
リレーションのLink.Builder
を返す簡易メソッド。SetSE<Link>
getLinks()
メッセージに添付されたリンクをヘッダーとして取得します。URISE
getLocation()
場所を取得します。MediaType
getMediaType()
エンティティのメディア型を取得します。int
getStatus()
レスポンスに関連付けられたステータスコードを取得します。Response.StatusType
getStatusInfo()
レスポンスに関連する完全なステータス情報を取得します。MultivaluedMap<StringSE,StringSE>
getStringHeaders()
メッセージに関連付けられたヘッダー値の文字列ビューを取得します。boolean
hasEntity()
レスポンスで使用可能なエンティティがあるかどうかを確認します。boolean
hasLink(StringSE relation)
リレーションのリンクが存在するかどうかを確認します。void
setEntity(ObjectSE entity)
新しいメッセージエンティティを設定します。void
setEntity(ObjectSE entity, AnnotationSE[] annotations, MediaType mediaType)
添付されたアノテーションとメディア型を含む、新しいメッセージエンティティを設定します。void
setEntityStream(OutputStreamSE outputStream)
新しいエンティティ出力ストリームを設定します。void
setStatus(int code)
新しいレスポンスステータスコードを設定します。void
setStatusInfo(Response.StatusType statusInfo)
レスポンスに関連付けられた完全なステータス情報(ステータスコードと理由フレーズ)を設定します。
メソッドの詳細
getStatus
int getStatus()
レスポンスに関連付けられたステータスコードを取得します。- 戻り値:
- レスポンスステータスコード。ステータスが設定されていない場合は -1。
setStatus
void setStatus(int code)
新しいレスポンスステータスコードを設定します。- パラメーター:
code
- 新しいステータスコード。
getStatusInfo
Response.StatusType getStatusInfo()
レスポンスに関連する完全なステータス情報を取得します。- 戻り値:
- レスポンスステータス情報、またはステータスが設定されていない場合は
null
setStatusInfo
void setStatusInfo(Response.StatusType statusInfo)
レスポンスに関連付けられた完全なステータス情報(ステータスコードと理由フレーズ)を設定します。- パラメーター:
statusInfo
- レスポンスステータス情報。
getHeaders
MultivaluedMap<StringSE,ObjectSE> getHeaders()
可変レスポンスヘッダーの多値マップを取得します。- 戻り値:
- レスポンスヘッダーの可変多値マップ。
- 関連事項:
getStringHeaders()
,getHeaderString(String)
getStringHeaders
MultivaluedMap<StringSE,StringSE> getStringHeaders()
メッセージに関連付けられたヘッダー値の文字列ビューを取得します。基になるheaders map
の変更は、このビューに反映されます。このメソッドは、値のクラスに
RuntimeDelegate.createHeaderDelegate(java.lang.Class)
を介して使用できる場合はRuntimeDelegate.HeaderDelegate
を使用し、ヘッダーデリゲートが使用できない場合は値toString
メソッドを使用して、非文字列ヘッダー値を文字列に変換します。- 戻り値:
- ヘッダー値の文字列ビューとしてのレスポンスヘッダー。
- 関連事項:
getHeaders()
,getHeaderString(String)
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()
メッセージに添付されたリンクをヘッダーとして取得します。- 戻り値:
- リンク。リンクが存在しない場合、空の
Set
SE を返すことがあります。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)
新しいメッセージエンティティを設定します。既存のエンティティannotations
およびmedia type
は保持されます。ジェネリクス型の保持が必要な場合、実際のエンティティを
GenericEntity
でラップするのは呼び出し側の責任です。- パラメーター:
entity
- エンティティオブジェクト。- 関連事項:
setEntity(Object, java.lang.annotation.Annotation[], jakarta.ws.rs.core.MediaType)
,MessageBodyWriter
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
- 新しいエンティティ出力ストリーム。