javax.ws.rs.ext
Interface MessageBodyReader<T>


public interface MessageBodyReader<T>

Contract for a provider that supports the conversion of a stream to a Java type. To add a MessageBodyReader implementation, annotate the implementation class with @Provider. A MessageBodyReader implementation may be annotated with @ConsumeMime to restrict the media types for which it will be considered suitable.

See Also:
Provider, ConsumeMime

Method Summary
 boolean isReadable(java.lang.Class<?> type)
          Ascertain if the MessageBodyReader supports a particular type.
 T readFrom(java.lang.Class<T> type, MediaType mediaType, MultivaluedMap<java.lang.String,java.lang.String> httpHeaders, java.io.InputStream entityStream)
          Read a type from the InputStream.
 

Method Detail

isReadable

boolean isReadable(java.lang.Class<?> type)
Ascertain if the MessageBodyReader supports a particular type.

Parameters:
type - the type that is to be supported.
Returns:
true if the type is supported, otherwise false.

readFrom

T readFrom(java.lang.Class<T> type,
           MediaType mediaType,
           MultivaluedMap<java.lang.String,java.lang.String> httpHeaders,
           java.io.InputStream entityStream)
           throws java.io.IOException
Read a type from the InputStream.

Parameters:
type - the type that is to be read from the entity stream. May be null if only one type is supported.
mediaType - the media type of the HTTP entity.
httpHeaders - the HTTP headers associated with HTTP entity.
entityStream - the InputStream of the HTTP entity.
Returns:
the type that was read from the stream.
Throws:
java.io.IOException - if an IO error arises