jp.terasoluna.fw.web.struts.actions
Class AbstractDownloadObject

java.lang.Object
  extended by jp.terasoluna.fw.web.struts.actions.AbstractDownloadObject
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
DownloadByteArray, DownloadFile, DownloadInputStream, DownloadString

public abstract class AbstractDownloadObject
extends java.lang.Object
implements java.io.Serializable

Abstract clas that retains the download contents.

See Also:
Serialized Form

Field Summary
protected  java.util.Map<java.lang.String,java.util.List<java.lang.String>> additionalHeaders
          Map that retains the header to be added.
protected  java.lang.String charset
          Encoding.
protected  java.lang.String contentType
          Content type.
static java.lang.String DEFAULT_CHARSET
          Default encoding (UTF-8)
static java.lang.String DEFAULT_CONTENT_TYPE
          Default content type(application/octetstream)
protected  java.lang.String name
          Download name.
static java.lang.String NO_DOWNLOAD_CONTENT_ERROR
          Error code when there are no download contents.
 
Constructor Summary
AbstractDownloadObject(java.lang.String name, java.lang.String contentType, java.lang.String charset)
          Constructor.
 
Method Summary
 void addHeader(java.lang.String name, java.lang.String value)
          Sets additional response header.
 java.util.Map<java.lang.String,java.util.List<java.lang.String>> getAdditionalHeaders()
          Fetches additional response header.
 java.lang.String getCharset()
          Fetches encoding.
 java.lang.String getContentType()
          Fetches content type.
abstract  int getLengthOfData()
          Fetches download size.
 java.lang.String getName()
          Fetches download name.
 java.io.InputStream getStream()
          Fetches stream of download contents.
protected abstract  java.io.InputStream getStreamInternal()
          Fetches the stream of download contents internally.
 void setCharset(java.lang.String charset)
          Sets encoding.
 void setContentType(java.lang.String contentType)
          Sets content type.
 void setName(java.lang.String name)
          Sets download name.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_CHARSET

public static final java.lang.String DEFAULT_CHARSET
Default encoding(UTF-8)

See Also:
Constant Field Values

DEFAULT_CONTENT_TYPE

public static final java.lang.String DEFAULT_CONTENT_TYPE
Default content type(application/octetstream)

See Also:
Constant Field Values

NO_DOWNLOAD_CONTENT_ERROR

public static final java.lang.String NO_DOWNLOAD_CONTENT_ERROR
Error code when there are no download contents.

See Also:
Constant Field Values

contentType

protected java.lang.String contentType
Content type.


name

protected java.lang.String name
Download name.


charset

protected java.lang.String charset
Encoding.


additionalHeaders

protected java.util.Map<java.lang.String,java.util.List<java.lang.String>> additionalHeaders
Map that retains the header to be added.

Constructor Detail

AbstractDownloadObject

public AbstractDownloadObject(java.lang.String name,
                              java.lang.String contentType,
                              java.lang.String charset)
Constructor.

Parameters:
name - Download name.
contentType - Content type.
charset - Encoding.
Method Detail

getCharset

public java.lang.String getCharset()
Fetches encoding.

Returns:
Encoding.

setCharset

public void setCharset(java.lang.String charset)
Sets encoding.

Parameters:
charset - Encoding.

getContentType

public java.lang.String getContentType()
Fetches content type.

Returns:
Content type.

setContentType

public void setContentType(java.lang.String contentType)
Sets content type.

Parameters:
contentType - Content type.

getName

public java.lang.String getName()
Fetches download name.

Returns:
download name.

setName

public void setName(java.lang.String name)
Sets download name.

Parameters:
name - Download name.

getStream

public java.io.InputStream getStream()
                              throws java.io.IOException
Fetches the stream of download contents.

Returns:
Stream.
Throws:
java.io.IOException

addHeader

public void addHeader(java.lang.String name,
                      java.lang.String value)
Sets additional response header.

Parameters:
name - Header name.
value - Header value.

getAdditionalHeaders

public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getAdditionalHeaders()
Fetches additional response header.

Returns:
Additional response header.

getStreamInternal

protected abstract java.io.InputStream getStreamInternal()
                                                  throws java.io.IOException
Fetches the stream of download contents internally.

Returns:
Stream.
Throws:
java.io.IOException

getLengthOfData

public abstract int getLengthOfData()
Fetches download size.

Returns:
Download size.