javax.ws.rs.ext

## Interface ReaderInterceptorContext

- All Superinterfaces:
    InterceptorContext
  All Known Implementing Classes:
    AbstractReaderInterceptorContext, ClientReaderInterceptorContext, ServerReaderInterceptorContext

      public interface ReaderInterceptorContext
      extends InterceptorContext

  Context class used by `ReaderInterceptor` to intercept calls to (@link javax.ws.rs.ext.MessageBodyReader#readFrom}. The getters and setters in this context class correspond to the parameters of the intercepted method.
  Since:
    2.0
  Author:
    Santiago Pericas-Geertsen, Bill Burke
  See Also:
    `ReaderInterceptor`, `MessageBodyReader`

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `MultivaluedMap<String,String>` | `getHeaders()` Get mutable map of HTTP headers.
    `InputStream` | `getInputStream()` Get the input stream of the object to be read.
    `Object` | `proceed()` Proceed to the next interceptor in the chain.
    `void` | `setInputStream(InputStream is)` Set the input stream of the object to be read.

    - ### Methods inherited from interface javax.ws.rs.ext.InterceptorContext

      `getAnnotations, getGenericType, getMediaType, getProperty, getPropertyNames, getType, removeProperty, setAnnotations, setGenericType, setMediaType, setProperty, setType`

- - ### Method Detail

    - #### proceed

          Object proceed()
                         throws IOException,
                                WebApplicationException

      Proceed to the next interceptor in the chain. Return the result of the next interceptor invoked. Interceptors MUST explicitly call this method to continue the execution chain; the call to this method in the last interceptor of the chain will invoke the wrapped `MessageBodyReader.readFrom(java.lang.Class<T>, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap<java.lang.String, java.lang.String>, java.io.InputStream)`.
      Returns:
        result of next interceptor invoked.
      Throws:
        `IOException` - if an IO error arises or is thrown by the wrapped `MessageBodyReader.readFrom` method.
        `WebApplicationException` - thrown by the wrapped `MessageBodyReader.readFrom` method.

    - #### getInputStream

          InputStream getInputStream()

      Get the input stream of the object to be read. The JAX-RS runtime is responsible for closing the input stream.
      Returns:
        input stream of the object to be read.

    - #### setInputStream

          void setInputStream(InputStream is)

      Set the input stream of the object to be read. For example, by wrapping it with another input stream. The JAX-RS runtime is responsible for closing the input stream that is set.
      Parameters:
        `is` - new input stream.

    - #### getHeaders

          MultivaluedMap<String,String> getHeaders()

      Get mutable map of HTTP headers.

      Note that while the headers are mutable, a `reader interceptor` should typically roll-back any header modifications once the call to `context.proceed()` returns, to avoid externally visible side-effects of the interceptor invocation.

      Returns:
        map of HTTP headers.

Copyright © 2014. All Rights Reserved.