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 ofHttpMessageConverterthat can read and write byte arrays.By default, this converter supports all media types (
*/*), and writes with aContent-Typeofapplication/octet-stream. This can be overridden by setting thesupportedMediaTypesproperty.- 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 LonggetContentLength(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.booleansupports(Class<?> clazz)Indicates whether the given class is supported by this converter.protected voidwriteInternal(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:AbstractHttpMessageConverterIndicates whether the given class is supported by this converter.- Specified by:
supportsin classAbstractHttpMessageConverter<byte[]>- Parameters:
clazz- the class to test for support- Returns:
trueif supported;falseotherwise
readInternal
public byte[] readInternal(Class<? extends byte[]> clazz, HttpInputMessage inputMessage) throws IOException
Description copied from class:AbstractHttpMessageConverterAbstract template method that reads the actual object. Invoked fromAbstractHttpMessageConverter.read(java.lang.Class<? extends T>, org.springframework.http.HttpInputMessage).- Specified by:
readInternalin 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, MediaType contentType)
Description copied from class:AbstractHttpMessageConverterReturns 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:
getContentLengthin classAbstractHttpMessageConverter<byte[]>- Parameters:
bytes- the type to return the content length for- Returns:
- the content length, or
nullif not known
writeInternal
protected void writeInternal(byte[] bytes, HttpOutputMessage outputMessage) throws IOException
Description copied from class:AbstractHttpMessageConverterAbstract template method that writes the actual body. Invoked fromAbstractHttpMessageConverter.write(T, org.springframework.http.MediaType, org.springframework.http.HttpOutputMessage).- Specified by:
writeInternalin 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