public class FileResponse extends HttpResponse
FileオブジェクトからHTTPレスポンスを生成するHttpResponse継承クラス。HttpResponse.StatusResult.ClientError, Result.Error, Result.MultiStatus, Result.NotFound, Result.SuccessCONTENT_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 - リクエスト処理の終了時に自動的にファイルを削除する場合はtruepublic java.lang.String getContentLength()
HttpResponsenullを返す。getContentLength in class HttpResponse@Published(tag="architect") public boolean isBodyEmpty()
trueを返す。
本クラスをインスタンス化する際にはボディを表すFileオブジェクトの指定が必須なため、
本メソッドは必ずfalseを返す。isBodyEmpty in class HttpResponsefalseを返すpublic java.lang.String getBodyString()
HttpResponsegetBodyString in class HttpResponse@Published(tag="architect") public java.io.InputStream getBodyStream()
HttpResponsegetBodyStream in class HttpResponsepublic java.lang.String toString()
HttpResponsetoString in class HttpResponsepublic HttpResponse cleanup()
HttpResponsecleanup in class HttpResponsepublic ResourceLocator getContentPath()
nullを返す。getContentPath in class HttpResponsenullを返す。public HttpResponse setBodyStream(java.io.InputStream bodyStream)
HttpResponsesetBodyStream in class HttpResponsebodyStream - HTTPレスポンスボディの内容を保持するストリームpublic HttpResponse setContentPath(java.lang.String path)
HttpResponseHttpResponse.setContentPath(ResourceLocator)に委譲する。setContentPath in class HttpResponsepath - コンテンツパスpublic HttpResponse setContentPath(ResourceLocator resource)
HttpResponseResourceLocatorオブジェクトがnullでない場合は、
リソース名からContent-Typeを自動的に設定した後、コンテンツパスを設定する。ResourceLocatorオブジェクトがnullの場合は、コンテンツパスのみ設定する。setContentPath in class HttpResponseresource - コンテンツパスHttpResponse.setContentPath(String)public HttpResponse write(java.lang.CharSequence text)
HttpResponseHttpResponseHandlerにレスポンスオブジェクトが戻された後である。
また、このオブジェクトにコンテンツパスが設定されている場合、
このライタに書き込まれた内容は単に無視される。write in class HttpResponsetext - 書き込む文字列public HttpResponse write(byte[] bytes)
HttpResponseHttpResponseHandlerにレスポンスオブジェクトが戻された後である。
また、このオブジェクトにコンテンツパスが設定されている場合、
このライタに書き込まれた内容は単に無視される。write in class HttpResponsebytes - 書き込むバイト配列public HttpResponse write(java.nio.ByteBuffer bytes)
HttpResponseHttpResponseHandlerにレスポンスオブジェクトが戻された後である。
また、このオブジェクトにコンテンツパスが設定されている場合、
このライタに書き込まれた内容は単に無視される。write in class HttpResponsebytes - 書き込むバイト列を格納したバッファ