javax.ws.rs.ext
Interface ReaderInterceptor


public interface ReaderInterceptor

Interface for message body reader interceptors that wrap around calls to MessageBodyReader.readFrom(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap, java.io.InputStream).

Providers implementing ReaderInterceptor 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. Message body interceptor instances may also be discovered and bound dynamically to particular resource methods.

Since:
2.0
Author:
Santiago Pericas-Geertsen, Bill Burke, Marek Potociar
See Also:
MessageBodyReader

Method Summary
 java.lang.Object aroundReadFrom(ReaderInterceptorContext context)
          Interceptor method wrapping calls to MessageBodyReader.readFrom(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap, java.io.InputStream).
 

Method Detail

aroundReadFrom

java.lang.Object aroundReadFrom(ReaderInterceptorContext context)
                                throws java.io.IOException,
                                       WebApplicationException
Interceptor method wrapping calls to MessageBodyReader.readFrom(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap, java.io.InputStream). The parameters of the wrapped method called are available from context. Implementations of this method SHOULD explicitly call ReaderInterceptorContext.proceed() to invoke the next interceptor in the chain, and ultimately the wrapped method.

Parameters:
context - invocation context.
Returns:
result of next interceptor invoked or the wrapped method if last interceptor in chain.
Throws:
java.io.IOException - if an IO error arises.
WebApplicationException - thrown by wrapped method.


Copyright © 2007-2012 Oracle Corporation. All Rights Reserved. Use is subject to license terms.