Class FileResponse

java.lang.Object
nablarch.fw.web.HttpResponse
nablarch.common.web.download.FileResponse
All Implemented Interfaces:
Result

public class FileResponse extends HttpResponse
FileオブジェクトからHTTPレスポンスを生成するHttpResponse継承クラス。
Author:
Naoki Yamamoto
  • Constructor Details

    • FileResponse

      @Published public FileResponse(File file)
      コンストラクタ。

      本コンストラクタを使用してインスタンスを生成した場合、 リクエスト処理の終了時に自動的にファイルは削除されない。

      Parameters:
      file - ファイル
    • FileResponse

      @Published public FileResponse(File file, boolean deleteOnCleanup)
      コンストラクタ。
      Parameters:
      file - ファイル
      deleteOnCleanup - リクエスト処理の終了時に自動的にファイルを削除する場合はtrue
  • Method Details

    • getContentLength

      public String getContentLength()
      Description copied from class: HttpResponse
      Content-Lengthの値を取得する。

      HTTPレスポンスボディの内容がこのオブジェクト自体に保持されている場合に限り、 そのバイト数を返す。
      それ以外はnullを返す。

      Overrides:
      getContentLength in class HttpResponse
      Returns:
      Content-Lengthの値
    • isBodyEmpty

      @Published(tag="architect") public boolean isBodyEmpty()
      HTTPレスポンスボディの内容が設定されていなければtrueを返す。

      本クラスをインスタンス化する際にはボディを表すFileオブジェクトの指定が必須なため、 本メソッドは必ずfalseを返す。

      Overrides:
      isBodyEmpty in class HttpResponse
      Returns:
      必ず{@link false}を返す
    • getBodyString

      public String getBodyString()
      Description copied from class: HttpResponse
      HTTPレスポンスボディの内容を表す文字列を返す。
      Overrides:
      getBodyString in class HttpResponse
      Returns:
      ボディの内容を表す文字列を返す
    • getBodyStream

      @Published(tag="architect") public InputStream getBodyStream()
      Description copied from class: HttpResponse
      HTTPレスポンスボディの内容を保持するストリームを取得する。
      Overrides:
      getBodyStream in class HttpResponse
      Returns:
      HTTPレスポンスボディの内容を保持するストリーム
    • toString

      public String toString()
      Description copied from class: HttpResponse
      オブジェクトの内容と等価なHTTPレスポンスメッセージを返す。
      Overrides:
      toString in class HttpResponse
    • cleanup

      public HttpResponse cleanup()
      Description copied from class: HttpResponse
      リソースを開放する。
      Overrides:
      cleanup in class HttpResponse
      Returns:
      本オブジェクト
    • getContentPath

      public ResourceLocator getContentPath()
      コンテンツパスを取得する。

      HTTPレスポンスボディに書き込むコンテンツパスを取得する。

      本クラスではコンテンツパスを設定できないため、 本メソッドは必ずnullを返す。

      Overrides:
      getContentPath in class HttpResponse
      Returns:
      必ずnullを返す。
    • setBodyStream

      public HttpResponse setBodyStream(InputStream bodyStream)
      Description copied from class: HttpResponse
      HTTPレスポンスボディの内容を保持するストリームを設定する。
      Overrides:
      setBodyStream in class HttpResponse
      Parameters:
      bodyStream - HTTPレスポンスボディの内容を保持するストリーム
      Returns:
      本オブジェクト
    • setContentPath

      public HttpResponse setContentPath(String path)
      Description copied from class: HttpResponse
      コンテンツパスを設定する。

      本処理はHttpResponse.setContentPath(ResourceLocator)に委譲する。

      Overrides:
      setContentPath in class HttpResponse
      Parameters:
      path - コンテンツパス
      Returns:
      本オブジェクト
    • setContentPath

      public HttpResponse setContentPath(ResourceLocator resource)
      Description copied from class: HttpResponse
      コンテンツパスを設定する。

      指定したResourceLocatorオブジェクトがnullでない場合は、 リソース名からContent-Typeを自動的に設定した後、コンテンツパスを設定する。
      ResourceLocatorオブジェクトがnullの場合は、コンテンツパスのみ設定する。

      Overrides:
      setContentPath in class HttpResponse
      Parameters:
      resource - コンテンツパス
      Returns:
      本オブジェクト
      See Also:
    • write

      public HttpResponse write(CharSequence text)
      Description copied from class: HttpResponse
      HTTPレスポンスボディに文字列を書き込む。

      このメソッドで書き込まれたデータは、本オブジェクトが保持する バッファに保持され、クライアントソケットに対する書き込みは一切発生しない。 (このライタに対するflush()は単に無視される。)
      実際にソケットに対するレスポンス処理が行われるのは、 HttpResponseHandlerにレスポンスオブジェクトが戻された後である。 また、このオブジェクトにコンテンツパスが設定されている場合、 このライタに書き込まれた内容は単に無視される。

      Overrides:
      write in class HttpResponse
      Parameters:
      text - 書き込む文字列
      Returns:
      本オブジェクト
    • write

      public HttpResponse write(byte[] bytes)
      Description copied from class: HttpResponse
      HTTPレスポンスボディにバイト配列を書き込む。

      このメソッドで書き込まれたデータは、本オブジェクトが保持する バッファに保持され、クライアントソケットに対する書き込みは一切発生しない。 (このライタに対するflush()は単に無視される。)
      実際にソケットに対するレスポンス処理が行われるのは、 HttpResponseHandlerにレスポンスオブジェクトが戻された後である。 また、このオブジェクトにコンテンツパスが設定されている場合、 このライタに書き込まれた内容は単に無視される。

      Overrides:
      write in class HttpResponse
      Parameters:
      bytes - 書き込むバイト配列
      Returns:
      本オブジェクト
    • write

      public HttpResponse write(ByteBuffer bytes)
      Description copied from class: HttpResponse
      HTTPレスポンスボディにバイト配列を書き込む。

      このメソッドで書き込まれたデータは、本オブジェクトが保持する バッファに保持され、クライアントソケットに対する書き込みは一切発生しない。 (このライタに対するflush()は単に無視される。)
      実際にソケットに対するレスポンス処理が行われるのは、 HttpResponseHandlerにレスポンスオブジェクトが戻された後である。 また、このオブジェクトにコンテンツパスが設定されている場合、 このライタに書き込まれた内容は単に無視される。

      Overrides:
      write in class HttpResponse
      Parameters:
      bytes - 書き込むバイト列を格納したバッファ
      Returns:
      本オブジェクト