Class ByteArrayHttpMessageConverter
- java.lang.Object
- org.springframework.http.converter.AbstractHttpMessageConverter<byte[]>
- org.springframework.http.converter.ByteArrayHttpMessageConverter
- All Implemented Interfaces:
HttpMessageConverter<byte[]>
public class ByteArrayHttpMessageConverter extends AbstractHttpMessageConverter<byte[]>
Implementation ofHttpMessageConverter
that can read and write byte arrays.By default, this converter supports all media types (
*/*
), and writes with aContent-Type
ofapplication/octet-stream
. This can be overridden by setting thesupportedMediaTypes
property.- Since:
- 3.0
- Author:
- Arjen Poutsma, Juergen Hoeller
Field Summary
Fields inherited from class org.springframework.http.converter.AbstractHttpMessageConverter
logger
Constructor Summary
Constructors Constructor Description ByteArrayHttpMessageConverter()
Create a new instance of theByteArrayHttpMessageConverter
.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Long
getContentLength(byte[] bytes, MediaType contentType)
Returns the content length for the given type.byte[]
readInternal(Class<? extends byte[]> clazz, HttpInputMessage inputMessage)
Abstract template method that reads the actual object.boolean
supports(Class<?> clazz)
Indicates whether the given class is supported by this converter.protected void
writeInternal(byte[] bytes, HttpOutputMessage outputMessage)
Abstract template method that writes the actual body.Methods inherited from class org.springframework.http.converter.AbstractHttpMessageConverter
addDefaultHeaders, canRead, canRead, canWrite, canWrite, getDefaultCharset, getDefaultContentType, getSupportedMediaTypes, read, setDefaultCharset, setSupportedMediaTypes, write
Constructor Detail
ByteArrayHttpMessageConverter
public ByteArrayHttpMessageConverter()
Create a new instance of theByteArrayHttpMessageConverter
.
Method Detail
supports
public boolean supports(Class<?> clazz)
Description copied from class:AbstractHttpMessageConverter
Indicates whether the given class is supported by this converter.- Specified by:
supports
in classAbstractHttpMessageConverter<byte[]>
- Parameters:
clazz
- the class to test for support- Returns:
true
if supported;false
otherwise
readInternal
public byte[] readInternal(Class<? extends byte[]> clazz, HttpInputMessage inputMessage) throws IOException
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<byte[]>
- 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 errors
getContentLength
protected Long getContentLength(byte[] bytes, @Nullable 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 classAbstractHttpMessageConverter<byte[]>
- Parameters:
bytes
- the type to return the content length for- Returns:
- the content length, or
null
if not known
writeInternal
protected void writeInternal(byte[] bytes, HttpOutputMessage outputMessage) throws IOException
Description copied from class:AbstractHttpMessageConverter
Abstract template method that writes the actual body. Invoked fromAbstractHttpMessageConverter.write(T, org.springframework.http.MediaType, org.springframework.http.HttpOutputMessage)
.- Specified by:
writeInternal
in classAbstractHttpMessageConverter<byte[]>
- Parameters:
bytes
- the object to write to the output messageoutputMessage
- the HTTP output message to write to- Throws:
IOException
- in case of I/O errors