Class ResourceRegionHttpMessageConverter
- java.lang.Object
- org.springframework.http.converter.AbstractHttpMessageConverter<T>
- org.springframework.http.converter.AbstractGenericHttpMessageConverter<Object>
- org.springframework.http.converter.ResourceRegionHttpMessageConverter
- All Implemented Interfaces:
GenericHttpMessageConverter<Object>
,HttpMessageConverter<Object>
public class ResourceRegionHttpMessageConverter extends AbstractGenericHttpMessageConverter<Object>
Implementation ofHttpMessageConverter
that can write a singleResourceRegion
, or Collections ofResourceRegions
.- Since:
- 4.3
- Author:
- Brian Clozel, Juergen Hoeller
Field Summary
Fields inherited from class org.springframework.http.converter.AbstractHttpMessageConverter
logger
Constructor Summary
Constructors Constructor Description ResourceRegionHttpMessageConverter()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canRead(Class<?> clazz, MediaType mediaType)
This implementation checks if the given class is supported, and if the supported media typesinclude the given media type.boolean
canRead(Type type, Class<?> contextClass, MediaType mediaType)
Indicates whether the given type can be read by this converter.boolean
canWrite(Class<?> clazz, MediaType mediaType)
boolean
canWrite(Type type, Class<?> clazz, MediaType mediaType)
Indicates whether the given class can be written by this converter.protected MediaType
getDefaultContentType(Object object)
Returns the default content type for the given type.Object
read(Type type, Class<?> contextClass, HttpInputMessage inputMessage)
Read an object of the given type form the given input message, and returns it.protected ResourceRegion
readInternal(Class<?> clazz, HttpInputMessage inputMessage)
Abstract template method that reads the actual object.protected void
writeInternal(Object object, Type type, HttpOutputMessage outputMessage)
Abstract template method that writes the actual body.protected void
writeResourceRegion(ResourceRegion region, HttpOutputMessage outputMessage)
Methods inherited from class org.springframework.http.converter.AbstractGenericHttpMessageConverter
supports, write, writeInternal
Methods inherited from class org.springframework.http.converter.AbstractHttpMessageConverter
addDefaultHeaders, canRead, canWrite, getContentLength, getDefaultCharset, getSupportedMediaTypes, read, setDefaultCharset, setSupportedMediaTypes, write
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.http.converter.HttpMessageConverter
getSupportedMediaTypes, read, write
Constructor Detail
ResourceRegionHttpMessageConverter
public ResourceRegionHttpMessageConverter()
Method Detail
getDefaultContentType
protected MediaType getDefaultContentType(Object object)
Description copied from class:AbstractHttpMessageConverter
Returns the default content type for the given type. Called whenAbstractHttpMessageConverter.write(T, org.springframework.http.MediaType, org.springframework.http.HttpOutputMessage)
is invoked without a specified content type parameter.By default, this returns the first element of the
supportedMediaTypes
property, if any. Can be overridden in subclasses.- Overrides:
getDefaultContentType
in classAbstractHttpMessageConverter<Object>
- Parameters:
object
- the type to return the content type for- Returns:
- the content type, or
null
if not known
canRead
public boolean canRead(Class<?> clazz, MediaType mediaType)
Description copied from class:AbstractHttpMessageConverter
This implementation checks if the given class is supported, and if the supported media typesinclude the given media type.- Specified by:
canRead
in interfaceHttpMessageConverter<Object>
- Overrides:
canRead
in classAbstractHttpMessageConverter<Object>
- Parameters:
clazz
- the class to test for readabilitymediaType
- the media type to read (can benull
if not specified); typically the value of aContent-Type
header.- Returns:
true
if readable;false
otherwise
canRead
public boolean canRead(Type type, Class<?> contextClass, MediaType mediaType)
Description copied from interface:GenericHttpMessageConverter
Indicates whether the given type can be read by this converter. This method should perform the same checks thanHttpMessageConverter.canRead(Class, MediaType)
with additional ones related to the generic type.- Specified by:
canRead
in interfaceGenericHttpMessageConverter<Object>
- Overrides:
canRead
in classAbstractGenericHttpMessageConverter<Object>
- Parameters:
type
- the (potentially generic) type to test for readabilitycontextClass
- a context class for the target type, for example a class in which the target type appears in a method signature (can benull
)mediaType
- the media type to read, can benull
if not specified. Typically the value of aContent-Type
header.- Returns:
true
if readable;false
otherwise
read
public Object read(Type type, Class<?> contextClass, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException
Description copied from interface:GenericHttpMessageConverter
Read an object of the given type form the given input message, and returns it.- Parameters:
type
- the (potentially generic) type of object to return. This type must have previously been passed to thecanRead
method of this interface, which must have returnedtrue
.contextClass
- a context class for the target type, for example a class in which the target type appears in a method signature (can benull
)inputMessage
- the HTTP input message to read from- Returns:
- the converted object
- Throws:
IOException
- in case of I/O errorsHttpMessageNotReadableException
- in case of conversion errors
readInternal
protected ResourceRegion readInternal(Class<?> clazz, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException
Description copied from class:AbstractHttpMessageConverter
Abstract template method that reads the actual object. Invoked fromAbstractHttpMessageConverter.read(java.lang.Class<? extends T>, org.springframework.http.HttpInputMessage)
.- Specified by:
readInternal
in classAbstractHttpMessageConverter<Object>
- Parameters:
clazz
- the type of object to returninputMessage
- the HTTP input message to read from- Returns:
- the converted object
- Throws:
IOException
- in case of I/O errorsHttpMessageNotReadableException
- in case of conversion errors
canWrite
public boolean canWrite(Class<?> clazz, MediaType mediaType)
Description copied from class:AbstractHttpMessageConverter
This implementation checks if the given class is supported, and if the supported media types include the given media type.- Specified by:
canWrite
in interfaceHttpMessageConverter<Object>
- Overrides:
canWrite
in classAbstractHttpMessageConverter<Object>
- Parameters:
clazz
- the class to test for writabilitymediaType
- the media type to write (can benull
if not specified); typically the value of anAccept
header.- Returns:
true
if writable;false
otherwise
canWrite
public boolean canWrite(Type type, Class<?> clazz, MediaType mediaType)
Description copied from interface:GenericHttpMessageConverter
Indicates whether the given class can be written by this converter.This method should perform the same checks than
HttpMessageConverter.canWrite(Class, MediaType)
with additional ones related to the generic type.- Specified by:
canWrite
in interfaceGenericHttpMessageConverter<Object>
- Overrides:
canWrite
in classAbstractGenericHttpMessageConverter<Object>
- Parameters:
type
- the (potentially generic) type to test for writability (can benull
if not specified)clazz
- the source object class to test for writabilitymediaType
- the media type to write (can benull
if not specified); typically the value of anAccept
header.- Returns:
true
if writable;false
otherwise
writeInternal
protected void writeInternal(Object object, Type type, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException
Description copied from class:AbstractGenericHttpMessageConverter
Abstract template method that writes the actual body. Invoked fromAbstractGenericHttpMessageConverter.write(T, java.lang.reflect.Type, org.springframework.http.MediaType, org.springframework.http.HttpOutputMessage)
.- Specified by:
writeInternal
in classAbstractGenericHttpMessageConverter<Object>
- Parameters:
object
- the object to write to the output messagetype
- the type of object to write (may benull
)outputMessage
- the HTTP output message to write to- Throws:
IOException
- in case of I/O errorsHttpMessageNotWritableException
- in case of conversion errors
writeResourceRegion
protected void writeResourceRegion(ResourceRegion region, HttpOutputMessage outputMessage) throws IOException
- Throws:
IOException