public class ResponseBody
extends java.lang.Object
レスポンスボディの内容を以下の3つの方式のいずれかによって指定する。 (排他利用) 1. コンテンツパスによる静的リソースの指定。内部バッファは一定サイズまではヒープ領域上に置かれるが、それを超えた 場合は一時ファイルに出力される。 入力ストリーム一時ファイルは、レスポンス処理終了後にHttpResponse.setContentPath(ResourceLocator)
2. 入力ストリームによる指定。HttpResponse.setBodyStream(InputStream)
3. 内部バッファへの書き込み。HttpResponse.write(byte[])
HttpResponse.write(CharSequence)
HttpResponseHandler
が cleanup()
を呼ぶことで
自動的に削除される。HttpResponse
,
HttpResponseHandler
Constructor and Description |
---|
ResponseBody(HttpResponse response)
コンストラクタ
|
Modifier and Type | Method and Description |
---|---|
static void |
addTempFileToDelete(java.io.File file)
削除しなければならない一時ファイルに追加する。
cleanup() メソッドが呼ばれた際に指定された一時ファイルが削除される。 |
static void |
cleanup()
カレントスレッドがIO用に確保しているリソースを全て開放する。
|
ResourceLocator |
getContentPath()
コンテンツパスを取得する。
|
java.io.InputStream |
getInputStream()
ボディの内容を格納した入力ストリームを返す。
なお、コンテントパスを使用している場合、以下のケースではnullを返却する。
|
boolean |
isEmpty()
ボディの内容が設定されていなければtrueを返す。
|
java.lang.Long |
length()
ボディの内容をヒープバッファに保持している場合、そのサイズを返す。
|
ResponseBody |
setContentPath(ResourceLocator path)
ボディのコンテンツパスを設定する。
|
ResponseBody |
setInputStream(java.io.InputStream input)
ボディの内容を格納した入力ストリームを設定する。
|
java.lang.String |
toString()
この実装ではボディの内容を表す文字列を返す。
|
ResponseBody |
write(byte[] bytes)
内部バッファにバイナリデータを書き込む。
|
ResponseBody |
write(java.nio.ByteBuffer bytes)
内部バッファにバイナリデータを書き込む。
|
ResponseBody |
write(java.lang.CharSequence text)
内部バッファにキャラクタデータを書き込む。
|
public ResponseBody(HttpResponse response)
response
- HTTPレスポンス本体public boolean isEmpty()
public java.lang.Long length()
内部バッファを使用していない場合、もしくは、 内部バッファとして一時ファイルを使用している場合は null を返す。
public ResponseBody setContentPath(ResourceLocator path)
path
- コンテンツパスpublic ResourceLocator getContentPath()
public ResponseBody write(byte[] bytes)
bytes
- バイナリデータpublic ResponseBody write(java.lang.CharSequence text)
text
- キャラクタデータpublic ResponseBody write(java.nio.ByteBuffer bytes)
要求サイズがヒープバッファの上限値を超過した場合、 一時ファイルへの書き出しが許可されていれば、 ヒープバッファを破棄し、以降は一時ファイルをバッファとして使用する。 (ヒープバッファは直近のGCにより開放される。) 一時ファイルへの書き出しが許可されていないばあい、 レスポンスコード400に相当するHTTPエラーを送出する。
bytes
- バイナリデータpublic java.lang.String toString()
1. コンテンツパスが指定されている場合。 パス文字列を返す。 2. 入力ストリームもしくは一時ファイル上にバッファリングしている場合。 先頭16KBの内容をデコードした文字列を返す。 3. ヒープ上にバッファリングしている場合。 バッファの内容をデコードした文字列を返す。
toString
in class java.lang.Object
デコードに使用するコンバータ
public java.io.InputStream getInputStream()
1. コンテントパスのスキームが file:// もしくは classpath:// のいずれでもない場合 2. コンテントパスのスキームが file:// もしくは classpath:// だが、その参照先のファイルが存在しない場合。
public ResponseBody setInputStream(java.io.InputStream input)
input
- 入力ストリームpublic static void addTempFileToDelete(java.io.File file)
cleanup()
メソッドが呼ばれた際に指定された一時ファイルが削除される。file
- 一時ファイルpublic static void cleanup()