org.springframework.http.converter
Interface HttpMessageConverter<T>

All Known Implementing Classes:
AbstractHttpMessageConverter, AbstractJaxb2HttpMessageConverter, AbstractWireFeedHttpMessageConverter, AbstractXmlHttpMessageConverter, AtomFeedHttpMessageConverter, BufferedImageHttpMessageConverter, ByteArrayHttpMessageConverter, FormHttpMessageConverter, Jaxb2RootElementHttpMessageConverter, MappingJacksonHttpMessageConverter, MarshallingHttpMessageConverter, ResourceHttpMessageConverter, RssChannelHttpMessageConverter, SourceHttpMessageConverter, StringHttpMessageConverter, XmlAwareFormHttpMessageConverter

public interface HttpMessageConverter<T>

Strategy interface that specifies a converter that can convert from and to HTTP requests and responses.

Since:
3.0
Author:
Arjen Poutsma, Juergen Hoeller

Method Summary
 boolean canRead(Class<?> clazz, MediaType mediaType)
          Indicates whether the given class can be read by this converter.
 boolean canWrite(Class<?> clazz, MediaType mediaType)
          Indicates whether the given class can be written by this converter.
 List<MediaType> getSupportedMediaTypes()
          Return the list of MediaType objects supported by this converter.
 T read(Class<? extends T> clazz, HttpInputMessage inputMessage)
          Read an object of the given type form the given input message, and returns it.
 void write(T t, MediaType contentType, HttpOutputMessage outputMessage)
          Write an given object to the given output message.
 

Method Detail

canRead

boolean canRead(Class<?> clazz,
                MediaType mediaType)
Indicates whether the given class can be read by this converter.

Parameters:
clazz - the class to test for readability
mediaType - the media type to read, can be null if not specified. Typically the value of a Content-Type header.
Returns:
true if readable; false otherwise

canWrite

boolean canWrite(Class<?> clazz,
                 MediaType mediaType)
Indicates whether the given class can be written by this converter.

Parameters:
clazz - the class to test for writability
mediaType - the media type to write, can be null if not specified. Typically the value of an Accept header.
Returns:
true if writable; false otherwise

getSupportedMediaTypes

List<MediaType> getSupportedMediaTypes()
Return the list of MediaType objects supported by this converter.

Returns:
the list of supported media types

read

T read(Class<? extends T> clazz,
       HttpInputMessage inputMessage)
       throws IOException,
              HttpMessageNotReadableException
Read an object of the given type form the given input message, and returns it.

Parameters:
clazz - the type of object to return. This type must have previously been passed to the canRead method of this interface, which must have returned true.
inputMessage - the HTTP input message to read from
Returns:
the converted object
Throws:
IOException - in case of I/O errors
HttpMessageNotReadableException - in case of conversion errors

write

void write(T t,
           MediaType contentType,
           HttpOutputMessage outputMessage)
           throws IOException,
                  HttpMessageNotWritableException
Write an given object to the given output message.

Parameters:
t - the object to write to the output message. The type of this object must have previously been passed to the canWrite method of this interface, which must have returned true.
contentType - the content type to use when writing. May be null to indicate that the default content type of the converter must be used. If not null, this media type must have previously been passed to the canWrite method of this interface, which must have returned true.
outputMessage - the message to write to
Throws:
IOException - in case of I/O errors
HttpMessageNotWritableException - in case of conversion errors