T - the type that can be written.public interface MessageBodyWriter<T>
MessageBodyWriter implementation may be annotated
with Produces to restrict the media types for which it will
be considered suitable.
Providers implementing MessageBodyWriter contract must be either programmatically
registered in a JAX-RS runtime or must be annotated with
@Provider annotation to be automatically discovered
by the JAX-RS runtime during a provider scanning phase.
| Modifier and Type | Method and Description |
|---|---|
long |
getSize(T t,
Class<?> type,
Type genericType,
Annotation[] annotations,
MediaType mediaType)
Originally, the method has been called before
writeTo to ascertain the length in bytes of
the serialized form of t. |
boolean |
isWriteable(Class<?> type,
Type genericType,
Annotation[] annotations,
MediaType mediaType)
Ascertain if the MessageBodyWriter supports a particular type.
|
void |
writeTo(T t,
Class<?> type,
Type genericType,
Annotation[] annotations,
MediaType mediaType,
MultivaluedMap<String,Object> httpHeaders,
OutputStream entityStream)
Write a type to an HTTP message.
|
boolean isWriteable(Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType)
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.true if the type is supported, otherwise false.long getSize(T t, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType)
writeTo to ascertain the length in bytes of
the serialized form of t. A non-negative return value has been used in a HTTP
Content-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 actual Content-Length header value has been
delegated to JAX-RS runtime.
t - 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.void writeTo(T t, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String,Object> httpHeaders, OutputStream entityStream) throws IOException, WebApplicationException
t - 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 - the OutputStream for the HTTP entity. The
implementation should not close the output stream.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.Copyright © 1996-2015, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.