Class MultipartRelatedWriter
- java.lang.Object
-
- org.jboss.resteasy.plugins.providers.multipart.AbstractMultipartWriter
-
- org.jboss.resteasy.plugins.providers.multipart.AbstractMultipartRelatedWriter
-
- org.jboss.resteasy.plugins.providers.multipart.MultipartRelatedWriter
-
- All Implemented Interfaces:
MessageBodyWriter<MultipartRelatedOutput>
,AsyncMessageBodyWriter<MultipartRelatedOutput>
@Provider @Produces("multipart/related") public class MultipartRelatedWriter extends AbstractMultipartRelatedWriter implements AsyncMessageBodyWriter<MultipartRelatedOutput>
TheMessageBodyWriter
implementation to serializeMultipartRelatedOutput
objects.- Version:
- $Revision: 1 $
- Author:
- Attila Kiraly
-
-
Field Summary
-
Fields inherited from class org.jboss.resteasy.plugins.providers.multipart.AbstractMultipartWriter
COLON_SPACE_BYTES, DOUBLE_DASH_BYTES, LINE_SEPARATOR_BYTES, workers
-
-
Constructor Summary
Constructors Constructor Description MultipartRelatedWriter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CompletionStage<Void>
asyncWriteTo(MultipartRelatedOutput multipartRelatedOutput, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String,Object> httpHeaders, AsyncOutputStream entityStream)
Write a type to an HTTP message using async IO.long
getSize(MultipartRelatedOutput multipartRelatedOutput, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType)
Originally, the method has been called beforewriteTo
to ascertain the length in bytes of the serialized form oft
.boolean
isWriteable(Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType)
Ascertain if the MessageBodyWriter supports a particular type.void
writeTo(MultipartRelatedOutput multipartRelatedOutput, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String,Object> httpHeaders, OutputStream entityStream)
Write a type to an HTTP message.-
Methods inherited from class org.jboss.resteasy.plugins.providers.multipart.AbstractMultipartRelatedWriter
asyncWriteRelated, writeRelated
-
Methods inherited from class org.jboss.resteasy.plugins.providers.multipart.AbstractMultipartWriter
asyncWrite, asyncWrite, asyncWritePart, asyncWritePart, asyncWriteParts, asyncWriteParts, write, write, writePart, writePart, writeParts, writeParts
-
-
-
-
Method Detail
-
isWriteable
public boolean isWriteable(Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType)
Description copied from interface:MessageBodyWriter
Ascertain if the MessageBodyWriter supports a particular type.- Specified by:
isWriteable
in interfaceMessageBodyWriter<MultipartRelatedOutput>
- Parameters:
type
- the class of instance that is to be written.genericType
- the type of instance to be written, obtained either by reflection of a resource method return type or via inspection of the returned instance.GenericEntity
provides a way to specify this information at runtime.annotations
- an array of the annotations attached to the message entity instance.mediaType
- the media type of the HTTP entity.- Returns:
true
if the type is supported, otherwisefalse
.
-
getSize
public long getSize(MultipartRelatedOutput multipartRelatedOutput, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType)
Description copied from interface:MessageBodyWriter
Originally, the method has been called beforewriteTo
to ascertain the length in bytes of the serialized form oft
. A non-negative return value has been used in a HTTPContent-Length
header.As of JAX-RS 2.0, the method has been deprecated and the value returned by the method is ignored by a JAX-RS runtime. All
MessageBodyWriter
implementations are advised to return-1
from the method. Responsibility to compute the actualContent-Length
header value has been delegated to JAX-RS runtime.- Specified by:
getSize
in interfaceMessageBodyWriter<MultipartRelatedOutput>
- Parameters:
multipartRelatedOutput
- the instance to writetype
- the class of instance that is to be written.genericType
- the type of instance to be written.GenericEntity
provides a way to specify this information at runtime.annotations
- an array of the annotations attached to the message entity instance.mediaType
- the media type of the HTTP entity.- Returns:
- length in bytes or -1 if the length cannot be determined in advance.
-
writeTo
public void writeTo(MultipartRelatedOutput multipartRelatedOutput, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String,Object> httpHeaders, OutputStream entityStream) throws IOException, WebApplicationException
Description copied from interface:MessageBodyWriter
Write a type to an HTTP message. The message header map is mutable but any changes must be made before writing to the output stream since the headers will be flushed prior to writing the message body.- Specified by:
writeTo
in interfaceMessageBodyWriter<MultipartRelatedOutput>
- Parameters:
multipartRelatedOutput
- the instance to write.type
- the class of instance that is to be written.genericType
- the type of instance to be written.GenericEntity
provides a way to specify this information at runtime.annotations
- an array of the annotations attached to the message entity instance.mediaType
- the media type of the HTTP entity.httpHeaders
- a mutable map of the HTTP message headers.entityStream
- theOutputStream
for the HTTP entity. The implementation must not close the output stream.- Throws:
IOException
- if an IO error arises.WebApplicationException
- if a specific HTTP error response needs to be produced. Only effective if thrown prior to the message being committed.
-
asyncWriteTo
public CompletionStage<Void> asyncWriteTo(MultipartRelatedOutput multipartRelatedOutput, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String,Object> httpHeaders, AsyncOutputStream entityStream)
Description copied from interface:AsyncMessageBodyWriter
Write a type to an HTTP message using async IO. The message header map is mutable but any changes must be made before writing to the async output stream since the headers will be flushed prior to writing the message body.- Specified by:
asyncWriteTo
in interfaceAsyncMessageBodyWriter<MultipartRelatedOutput>
- Parameters:
multipartRelatedOutput
- the instance to write.type
- the class of instance that is to be written.genericType
- the type of instance to be written.GenericEntity
provides a way to specify this information at runtime.annotations
- an array of the annotations attached to the message entity instance.mediaType
- the media type of the HTTP entity.httpHeaders
- a mutable map of the HTTP message headers.entityStream
- theAsyncOutputStream
for the HTTP entity. The implementation should not close the output stream.- Returns:
- a
CompletionStage
indicating completion
-
-