org.springframework.http.converter
Class StringHttpMessageConverter

java.lang.Object
  extended by org.springframework.http.converter.AbstractHttpMessageConverter<java.lang.String>
      extended by org.springframework.http.converter.StringHttpMessageConverter
All Implemented Interfaces:
HttpMessageConverter<java.lang.String>

public class StringHttpMessageConverter
extends AbstractHttpMessageConverter<java.lang.String>

Implementation of HttpMessageConverter that can read and write strings.

By default, this converter supports all media types (*/*), and writes with a Content-Type of text/plain. This can be overridden by setting the supportedMediaTypes property.

Since:
3.0
Author:
Arjen Poutsma

Field Summary
private  java.util.List<java.nio.charset.Charset> availableCharsets
           
static java.nio.charset.Charset DEFAULT_CHARSET
           
private  boolean writeAcceptCharset
           
 
Fields inherited from class org.springframework.http.converter.AbstractHttpMessageConverter
logger
 
Constructor Summary
StringHttpMessageConverter()
           
 
Method Summary
protected  java.util.List<java.nio.charset.Charset> getAcceptedCharsets()
          Return the list of supported Charset.
protected  java.lang.Long getContentLength(java.lang.String s, MediaType contentType)
          Returns the content length for the given type.
private  java.nio.charset.Charset getContentTypeCharset(MediaType contentType)
           
protected  java.lang.String readInternal(java.lang.Class clazz, HttpInputMessage inputMessage)
          Abstract template method that reads the actualy object.
 void setWriteAcceptCharset(boolean writeAcceptCharset)
          Indicates whether the Accept-Charset should be written to any outgoing request.
 boolean supports(java.lang.Class<?> clazz)
          Indicates whether the given class is supported by this converter.
protected  void writeInternal(java.lang.String s, HttpOutputMessage outputMessage)
          Abstract template method that writes the actual body.
 
Methods inherited from class org.springframework.http.converter.AbstractHttpMessageConverter
canRead, canRead, canWrite, canWrite, getDefaultContentType, getSupportedMediaTypes, read, setSupportedMediaTypes, write
 
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.nio.charset.Charset DEFAULT_CHARSET

availableCharsets

private final java.util.List<java.nio.charset.Charset> availableCharsets

writeAcceptCharset

private boolean writeAcceptCharset
Constructor Detail

StringHttpMessageConverter

public StringHttpMessageConverter()
Method Detail

setWriteAcceptCharset

public void setWriteAcceptCharset(boolean writeAcceptCharset)
Indicates whether the Accept-Charset should be written to any outgoing request.

Default is true.


supports

public boolean supports(java.lang.Class<?> clazz)
Description copied from class: AbstractHttpMessageConverter
Indicates whether the given class is supported by this converter.

Specified by:
supports in class AbstractHttpMessageConverter<java.lang.String>
Parameters:
clazz - the class to test for support
Returns:
true if supported; false otherwise

readInternal

protected java.lang.String readInternal(java.lang.Class clazz,
                                        HttpInputMessage inputMessage)
                                 throws java.io.IOException
Description copied from class: AbstractHttpMessageConverter
Abstract template method that reads the actualy object. Invoked from AbstractHttpMessageConverter.read(java.lang.Class, org.springframework.http.HttpInputMessage).

Specified by:
readInternal in class AbstractHttpMessageConverter<java.lang.String>
Parameters:
clazz - the type of object to return
inputMessage - the HTTP input message to read from
Returns:
the converted object
Throws:
java.io.IOException - in case of I/O errors

getContentLength

protected java.lang.Long getContentLength(java.lang.String s,
                                          MediaType contentType)
Description copied from class: AbstractHttpMessageConverter
Returns the content length for the given type.

By default, this returns null, meaning that the content length is unknown. Can be overridden in subclasses.

Overrides:
getContentLength in class AbstractHttpMessageConverter<java.lang.String>
Parameters:
s - the type to return the content length for
Returns:
the content length, or null if not known

writeInternal

protected void writeInternal(java.lang.String s,
                             HttpOutputMessage outputMessage)
                      throws java.io.IOException
Description copied from class: AbstractHttpMessageConverter
Abstract template method that writes the actual body. Invoked from AbstractHttpMessageConverter.write(T, org.springframework.http.MediaType, org.springframework.http.HttpOutputMessage).

Specified by:
writeInternal in class AbstractHttpMessageConverter<java.lang.String>
Parameters:
s - the object to write to the output message
outputMessage - the message to write to
Throws:
java.io.IOException - in case of I/O errors

getAcceptedCharsets

protected java.util.List<java.nio.charset.Charset> getAcceptedCharsets()
Return the list of supported Charset.

By default, returns Charset.availableCharsets(). Can be overridden in subclasses.

Returns:
the list of accepted charsets

getContentTypeCharset

private java.nio.charset.Charset getContentTypeCharset(MediaType contentType)