javax.ws.rs.ext

## Interface WriterInterceptor

- All Known Implementing Classes:
    ClientContentEncodingAnnotationFilter, DigitalSigningInterceptor, GZIPEncodingInterceptor, Jackson2JsonpInterceptor, JacksonJsonpInterceptor, ServerCacheInterceptor, ServerContentEncodingAnnotationFilter, WriterInterceptorRegistry.WriterInterceptorFacade

      public interface WriterInterceptor

  Interface for message body writer interceptors that wrap around calls to `MessageBodyWriter.writeTo(T, java.lang.Class<?>, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap<java.lang.String, java.lang.Object>, java.io.OutputStream)`.

  Providers implementing `WriterInterceptor` 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:
    `MessageBodyWriter`

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `aroundWriteTo(WriterInterceptorContext context)` Interceptor method wrapping calls to `MessageBodyWriter.writeTo(T, java.lang.Class<?>, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap<java.lang.String, java.lang.Object>, java.io.OutputStream)` method.

- - ### Method Detail

    - #### aroundWriteTo

          void aroundWriteTo(WriterInterceptorContext context)
                             throws IOException,
                                    WebApplicationException

      Interceptor method wrapping calls to `MessageBodyWriter.writeTo(T, java.lang.Class<?>, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap<java.lang.String, java.lang.Object>, java.io.OutputStream)` method. The parameters of the wrapped method called are available from `context`. Implementations of this method SHOULD explicitly call `WriterInterceptorContext.proceed()` to invoke the next interceptor in the chain, and ultimately the wrapped `MessageBodyWriter.writeTo` method.
      Parameters:
        `context` - invocation context.
      Throws:
        `IOException` - if an IO error arises or is thrown by the wrapped `MessageBodyWriter.writeTo` method.
        `WebApplicationException` - thrown by the wrapped `MessageBodyWriter.writeTo` method.

Copyright © 2014. All Rights Reserved.