Class ResponseTemplate
- java.lang.Object
-
- com.aspectran.core.activity.response.ResponseTemplate
-
- All Implemented Interfaces:
Response
,ResponseAdapter
,Replicable<Response>
public class ResponseTemplate extends java.lang.Object implements Response, ResponseAdapter
The Class ResponseTemplate.Created: 2020/07/26
-
-
Constructor Summary
Constructors Constructor Description ResponseTemplate(ResponseAdapter responseAdapter)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addHeader(java.lang.String name, java.lang.String value)
Add the given single header value to the current list of values for the given header.void
commit(Activity activity)
The result of the activity is processed into a specific response form and then sent to the client.boolean
containsHeader(java.lang.String name)
Returns a boolean indicating whether the named response header has already been set.void
flush()
Forces any content in the buffer to be written to the client.<T> T
getAdaptee()
Returns the adaptee object to provide response information.java.lang.String
getContentType()
Gets the content type.java.lang.String
getEncoding()
Returns the name of the character encoding (MIME charset) used for the body sent in this response.java.lang.String
getHeader(java.lang.String name)
Returns the value of the response header with the given name.java.util.Collection<java.lang.String>
getHeaderNames()
Returns the names of the headers of this response.java.util.Collection<java.lang.String>
getHeaders(java.lang.String name)
Returns the values of the response header with the given name.java.io.OutputStream
getOutputStream()
Returns aOutputStream
suitable for writing binary data in the response.ResponseType
getResponseType()
Gets the response type.int
getStatus()
Returns the status code.java.io.Writer
getWriter()
Returns aWriter
object that can send character text to the client.java.lang.String
redirect(RedirectRule redirectRule)
Redirects a client to a new URL.void
redirect(java.lang.String location)
Sends a temporary redirect response to the client using the specified redirect location.Response
replicate()
Replicates and returns this response.void
setContentType(java.lang.String contentType)
Sets the content type of the response being sent to the client, if the response has not been committed yet.void
setEncoding(java.lang.String encoding)
Sets the character encoding of the response being sent to the client.void
setHeader(java.lang.String name, java.lang.String value)
Set the given single header value under the given header name.void
setStatus(int status)
Sets the status code.
-
-
-
Constructor Detail
-
ResponseTemplate
public ResponseTemplate(@NonNull ResponseAdapter responseAdapter)
-
-
Method Detail
-
commit
public void commit(Activity activity) throws ResponseException
Description copied from interface:Response
The result of the activity is processed into a specific response form and then sent to the client.- Specified by:
commit
in interfaceResponse
- Parameters:
activity
- the current Activity- Throws:
ResponseException
- the response exception
-
getResponseType
public ResponseType getResponseType()
Description copied from interface:Response
Gets the response type.- Specified by:
getResponseType
in interfaceResponse
- Returns:
- the response type
-
getAdaptee
public <T> T getAdaptee()
Description copied from interface:ResponseAdapter
Returns the adaptee object to provide response information.- Specified by:
getAdaptee
in interfaceResponseAdapter
- Type Parameters:
T
- the type of the adaptee object- Returns:
- the adaptee object
-
getHeader
public java.lang.String getHeader(java.lang.String name)
Description copied from interface:ResponseAdapter
Returns the value of the response header with the given name.If a response header with the given name exists and contains multiple values, the value that was added first will be returned.
- Specified by:
getHeader
in interfaceResponseAdapter
- Parameters:
name
- the name of the response header whose value to return- Returns:
- the value of the response header with the given name,
or
null
if no header with the given name has been set on this response
-
getHeaders
public java.util.Collection<java.lang.String> getHeaders(java.lang.String name)
Description copied from interface:ResponseAdapter
Returns the values of the response header with the given name.- Specified by:
getHeaders
in interfaceResponseAdapter
- Parameters:
name
- the name of the response header whose values to return- Returns:
- a (possibly empty)
Collection
of the values of the response header with the given name
-
getHeaderNames
public java.util.Collection<java.lang.String> getHeaderNames()
Description copied from interface:ResponseAdapter
Returns the names of the headers of this response.- Specified by:
getHeaderNames
in interfaceResponseAdapter
- Returns:
- a (possibly empty)
Collection
of the names of the headers of this response
-
containsHeader
public boolean containsHeader(java.lang.String name)
Description copied from interface:ResponseAdapter
Returns a boolean indicating whether the named response header has already been set.- Specified by:
containsHeader
in interfaceResponseAdapter
- Parameters:
name
- the header name- Returns:
true
if the named response header has already been set;false
otherwise
-
setHeader
public void setHeader(java.lang.String name, java.lang.String value)
Description copied from interface:ResponseAdapter
Set the given single header value under the given header name. If the header had already been set, the new value overwrites the previous one.- Specified by:
setHeader
in interfaceResponseAdapter
- Parameters:
name
- the header namevalue
- the header value to set
-
addHeader
public void addHeader(java.lang.String name, java.lang.String value)
Description copied from interface:ResponseAdapter
Add the given single header value to the current list of values for the given header.- Specified by:
addHeader
in interfaceResponseAdapter
- Parameters:
name
- the header namevalue
- the header value to be added
-
getEncoding
public java.lang.String getEncoding()
Description copied from interface:ResponseAdapter
Returns the name of the character encoding (MIME charset) used for the body sent in this response.- Specified by:
getEncoding
in interfaceResponseAdapter
- Returns:
- a
String
specifying the name of the character encoding, for example, UTF-8
-
setEncoding
public void setEncoding(java.lang.String encoding) throws java.io.UnsupportedEncodingException
Description copied from interface:ResponseAdapter
Sets the character encoding of the response being sent to the client.- Specified by:
setEncoding
in interfaceResponseAdapter
- Parameters:
encoding
- aString
specifying only the character set defined by IANA Character Sets (http://www.iana.org/assignments/character-sets)- Throws:
java.io.UnsupportedEncodingException
- if character encoding is not supported
-
getContentType
public java.lang.String getContentType()
Description copied from interface:Response
Gets the content type.- Specified by:
getContentType
in interfaceResponse
- Specified by:
getContentType
in interfaceResponseAdapter
- Returns:
- the content type
-
setContentType
public void setContentType(java.lang.String contentType)
Description copied from interface:ResponseAdapter
Sets the content type of the response being sent to the client, if the response has not been committed yet.- Specified by:
setContentType
in interfaceResponseAdapter
- Parameters:
contentType
- aString
specifying the MIME type of the content
-
getOutputStream
public java.io.OutputStream getOutputStream() throws java.io.IOException
Description copied from interface:ResponseAdapter
Returns aOutputStream
suitable for writing binary data in the response.- Specified by:
getOutputStream
in interfaceResponseAdapter
- Returns:
- a
OutputStream
for writing binary data - Throws:
java.io.IOException
- if an input or output exception occurs
-
getWriter
public java.io.Writer getWriter() throws java.io.IOException
Description copied from interface:ResponseAdapter
Returns aWriter
object that can send character text to the client.- Specified by:
getWriter
in interfaceResponseAdapter
- Returns:
- a
Writer
object that can return character data to the client - Throws:
java.io.IOException
- if an input or output exception occurs
-
flush
public void flush() throws java.io.IOException
Description copied from interface:ResponseAdapter
Forces any content in the buffer to be written to the client.- Specified by:
flush
in interfaceResponseAdapter
- Throws:
java.io.IOException
- if an input or output exception occurs
-
redirect
public void redirect(java.lang.String location) throws java.io.IOException
Description copied from interface:ResponseAdapter
Sends a temporary redirect response to the client using the specified redirect location.- Specified by:
redirect
in interfaceResponseAdapter
- Parameters:
location
- the redirect location- Throws:
java.io.IOException
- if an input or output exception occurs
-
redirect
public java.lang.String redirect(RedirectRule redirectRule) throws java.io.IOException
Description copied from interface:ResponseAdapter
Redirects a client to a new URL.- Specified by:
redirect
in interfaceResponseAdapter
- Parameters:
redirectRule
- the redirect rule- Returns:
- the redirect path
- Throws:
java.io.IOException
- if an input or output exception occurs
-
getStatus
public int getStatus()
Description copied from interface:ResponseAdapter
Returns the status code.- Specified by:
getStatus
in interfaceResponseAdapter
- Returns:
- the status
-
setStatus
public void setStatus(int status)
Description copied from interface:ResponseAdapter
Sets the status code.- Specified by:
setStatus
in interfaceResponseAdapter
- Parameters:
status
- the status code
-
-