public class FileResponse extends HttpResponse
File
オブジェクトからHTTPレスポンスを生成するHttpResponse
継承クラス。HttpResponse.Status
Result.ClientError, Result.Error, Result.MultiStatus, Result.NotFound, Result.Success
CONTENT_DISPOSITION, LS
Constructor and Description |
---|
FileResponse(java.io.File file)
コンストラクタ。
本コンストラクタを使用してインスタンスを生成した場合、
リクエスト処理の終了時に自動的にファイルは削除されない。
|
FileResponse(java.io.File file,
boolean deleteOnCleanup)
コンストラクタ。
|
Modifier and Type | Method and Description |
---|---|
HttpResponse |
cleanup()
リソースを開放する。
|
java.io.InputStream |
getBodyStream()
HTTPレスポンスボディの内容を保持するストリームを取得する。
|
java.lang.String |
getBodyString()
HTTPレスポンスボディの内容を表す文字列を返す。
|
java.lang.String |
getContentLength()
Content-Lengthの値を取得する。
HTTPレスポンスボディの内容がこのオブジェクト自体に保持されている場合に限り、
そのバイト数を返す。
それ以外は null を返す。 |
ResourceLocator |
getContentPath()
コンテンツパスを取得する。
HTTPレスポンスボディに書き込むコンテンツパスを取得する。
|
boolean |
isBodyEmpty()
HTTPレスポンスボディの内容が設定されていなければ
true を返す。 |
HttpResponse |
setBodyStream(java.io.InputStream bodyStream)
HTTPレスポンスボディの内容を保持するストリームを設定する。
|
HttpResponse |
setContentPath(ResourceLocator resource)
コンテンツパスを設定する。
指定した
ResourceLocator オブジェクトがnull でない場合は、
リソース名からContent-Typeを自動的に設定した後、コンテンツパスを設定する。ResourceLocator オブジェクトがnull の場合は、コンテンツパスのみ設定する。 |
HttpResponse |
setContentPath(java.lang.String path)
コンテンツパスを設定する。
本処理は
HttpResponse.setContentPath(ResourceLocator) に委譲する。 |
java.lang.String |
toString()
オブジェクトの内容と等価なHTTPレスポンスメッセージを返す。
|
HttpResponse |
write(byte[] bytes)
HTTPレスポンスボディにバイト配列を書き込む。
このメソッドで書き込まれたデータは、本オブジェクトが保持する
バッファに保持され、クライアントソケットに対する書き込みは一切発生しない。
(このライタに対するflush()は単に無視される。)
実際にソケットに対するレスポンス処理が行われるのは、 HttpResponseHandler にレスポンスオブジェクトが戻された後である。
また、このオブジェクトにコンテンツパスが設定されている場合、
このライタに書き込まれた内容は単に無視される。 |
HttpResponse |
write(java.nio.ByteBuffer bytes)
HTTPレスポンスボディにバイト配列を書き込む。
このメソッドで書き込まれたデータは、本オブジェクトが保持する
バッファに保持され、クライアントソケットに対する書き込みは一切発生しない。
(このライタに対するflush()は単に無視される。)
実際にソケットに対するレスポンス処理が行われるのは、 HttpResponseHandler にレスポンスオブジェクトが戻された後である。
また、このオブジェクトにコンテンツパスが設定されている場合、
このライタに書き込まれた内容は単に無視される。 |
HttpResponse |
write(java.lang.CharSequence text)
HTTPレスポンスボディに文字列を書き込む。
このメソッドで書き込まれたデータは、本オブジェクトが保持する
バッファに保持され、クライアントソケットに対する書き込みは一切発生しない。
(このライタに対するflush()は単に無視される。)
実際にソケットに対するレスポンス処理が行われるのは、 HttpResponseHandler にレスポンスオブジェクトが戻された後である。
また、このオブジェクトにコンテンツパスが設定されている場合、
このライタに書き込まれた内容は単に無視される。 |
addCookie, getCharset, getContentDisposition, getContentType, getCookie, getCookieList, getHeader, getHeaderMap, getHttpCookies, getHttpVersion, getLocation, getMessage, getReasonPhrase, getStatusCode, getTransferEncoding, isSuccess, parse, parse, setContentDisposition, setContentDisposition, setContentType, setCookie, setHeader, setHttpVersion, setLocation, setStatusCode, setTransferEncoding
@Published public FileResponse(java.io.File file)
file
- ファイル@Published public FileResponse(java.io.File file, boolean deleteOnCleanup)
file
- ファイルdeleteOnCleanup
- リクエスト処理の終了時に自動的にファイルを削除する場合はtrue
public java.lang.String getContentLength()
HttpResponse
null
を返す。getContentLength
in class HttpResponse
@Published(tag="architect") public boolean isBodyEmpty()
true
を返す。
本クラスをインスタンス化する際にはボディを表すFile
オブジェクトの指定が必須なため、
本メソッドは必ずfalse
を返す。isBodyEmpty
in class HttpResponse
false
を返すpublic java.lang.String getBodyString()
HttpResponse
getBodyString
in class HttpResponse
@Published(tag="architect") public java.io.InputStream getBodyStream()
HttpResponse
getBodyStream
in class HttpResponse
public java.lang.String toString()
HttpResponse
toString
in class HttpResponse
public HttpResponse cleanup()
HttpResponse
cleanup
in class HttpResponse
public ResourceLocator getContentPath()
null
を返す。getContentPath
in class HttpResponse
null
を返す。public HttpResponse setBodyStream(java.io.InputStream bodyStream)
HttpResponse
setBodyStream
in class HttpResponse
bodyStream
- HTTPレスポンスボディの内容を保持するストリームpublic HttpResponse setContentPath(java.lang.String path)
HttpResponse
HttpResponse.setContentPath(ResourceLocator)
に委譲する。setContentPath
in class HttpResponse
path
- コンテンツパスpublic HttpResponse setContentPath(ResourceLocator resource)
HttpResponse
ResourceLocator
オブジェクトがnull
でない場合は、
リソース名からContent-Typeを自動的に設定した後、コンテンツパスを設定する。ResourceLocator
オブジェクトがnull
の場合は、コンテンツパスのみ設定する。setContentPath
in class HttpResponse
resource
- コンテンツパスHttpResponse.setContentPath(String)
public HttpResponse write(java.lang.CharSequence text)
HttpResponse
HttpResponseHandler
にレスポンスオブジェクトが戻された後である。
また、このオブジェクトにコンテンツパスが設定されている場合、
このライタに書き込まれた内容は単に無視される。write
in class HttpResponse
text
- 書き込む文字列public HttpResponse write(byte[] bytes)
HttpResponse
HttpResponseHandler
にレスポンスオブジェクトが戻された後である。
また、このオブジェクトにコンテンツパスが設定されている場合、
このライタに書き込まれた内容は単に無視される。write
in class HttpResponse
bytes
- 書き込むバイト配列public HttpResponse write(java.nio.ByteBuffer bytes)
HttpResponse
HttpResponseHandler
にレスポンスオブジェクトが戻された後である。
また、このオブジェクトにコンテンツパスが設定されている場合、
このライタに書き込まれた内容は単に無視される。write
in class HttpResponse
bytes
- 書き込むバイト列を格納したバッファ