Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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 `Consumes` to restrict the media types for which it will be considered suitable.

See Also:
  `Provider`, `Consumes`

Method Summary
`boolean` | `isReadable(java.lang.Class<?> type, java.lang.reflect.Type genericType, java.lang.annotation.Annotation[] annotations, MediaType mediaType)` Ascertain if the MessageBodyReader can produce an instance of a particular type.
`T` | `readFrom(java.lang.Class<T> type, java.lang.reflect.Type genericType, java.lang.annotation.Annotation[] annotations, 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,
                       java.lang.reflect.Type genericType,
                       java.lang.annotation.Annotation[] annotations,
                       MediaType mediaType)

  Ascertain if the MessageBodyReader can produce an instance of a particular type.

  Parameters:
    `type` - the class of object to be produced.
    `genericType` - the type of object to be produced. E.g. if the message body is to be converted into a method parameter, this will be the formal type of the method parameter as returned by `Class.getGenericParameterTypes`.
    `annotations` - an array of the annotations on the declaration of the artifact that will be initialized with the produced instance. E.g. if the message body is to be converted into a method parameter, this will be the annotations on that parameter returned by `Class.getParameterAnnotations`.
    `mediaType` - the media type of the HTTP entity.
  Returns:
    true if the type is supported, otherwise false.

### readFrom

    T readFrom(java.lang.Class<T> type,
               java.lang.reflect.Type genericType,
               java.lang.annotation.Annotation[] annotations,
               MediaType mediaType,
               MultivaluedMap<java.lang.String,java.lang.String> httpHeaders,
               java.io.InputStream entityStream)
               throws java.io.IOException,
                      WebApplicationException

  Read a type from the `InputStream`.

  Parameters:
    `type` - the type that is to be read from the entity stream.
    `genericType` - the type of object to be produced. E.g. if the message body is to be converted into a method parameter, this will be the formal type of the method parameter as returned by `Class.getGenericParameterTypes`.
    `annotations` - an array of the annotations on the declaration of the artifact that will be initialized with the produced instance. E.g. if the message body is to be converted into a method parameter, this will be the annotations on that parameter returned by `Class.getParameterAnnotations`.
    `mediaType` - the media type of the HTTP entity.
    `httpHeaders` - the read-only HTTP headers associated with HTTP entity.
    `entityStream` - the `InputStream` of the HTTP entity. The caller is responsible for ensuring that the input stream ends when the entity has been consumed. The implementation should not close the input stream.
  Returns:
    the type that was read from the stream.
  Throws:
    `java.io.IOException` - if an IO error arises
    `WebApplicationException` - if a specific HTTP error response needs to be produced. Only effective if thrown prior to the response being committed.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2008 Sun Microsystems, Inc. All Rights Reserved.