@Priority(value=4000) @Contract public abstract class ContentEncoder extends java.lang.Object implements javax.ws.rs.ext.ReaderInterceptor, javax.ws.rs.ext.WriterInterceptor
WriterInterceptor
and decoding ReaderInterceptor
. Implementing this class ensures the encoding
supported by the implementation will be considered during the content negotiation phase when deciding which encoding
should be used based on the accepted encodings (and the associated quality parameters) in the request headers.Modifier and Type | Field and Description |
---|---|
private java.util.Set<java.lang.String> |
supportedEncodings |
Modifier | Constructor and Description |
---|---|
protected |
ContentEncoder(java.lang.String... supportedEncodings)
Initializes this encoder implementation with the list of supported content encodings.
|
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
aroundReadFrom(javax.ws.rs.ext.ReaderInterceptorContext context) |
void |
aroundWriteTo(javax.ws.rs.ext.WriterInterceptorContext context) |
abstract java.io.InputStream |
decode(java.lang.String contentEncoding,
java.io.InputStream encodedStream)
Implementations of this method should take the encoded stream, wrap it and return a stream that can be used
to read the decoded entity.
|
abstract java.io.OutputStream |
encode(java.lang.String contentEncoding,
java.io.OutputStream entityStream)
Implementations of this method should take the entity stream, wrap it and return a stream that is encoded
using the specified encoding.
|
java.util.Set<java.lang.String> |
getSupportedEncodings()
Returns values of Content-Encoding header supported by this encoder.
|
protected ContentEncoder(java.lang.String... supportedEncodings)
supportedEncodings
- Values of Content-Encoding header supported by this encoding provider.public final java.util.Set<java.lang.String> getSupportedEncodings()
public abstract java.io.InputStream decode(java.lang.String contentEncoding, java.io.InputStream encodedStream) throws java.io.IOException
contentEncoding
- Encoding to be used to decode the stream - guaranteed to be one of the supported encoding
values.encodedStream
- Encoded input stream.java.io.IOException
- if an IO error arises.public abstract java.io.OutputStream encode(java.lang.String contentEncoding, java.io.OutputStream entityStream) throws java.io.IOException
contentEncoding
- Encoding to be used to encode the entity - guaranteed to be one of the supported encoding
values.entityStream
- Entity stream to be encoded.java.io.IOException
- if an IO error arises.public final java.lang.Object aroundReadFrom(javax.ws.rs.ext.ReaderInterceptorContext context) throws java.io.IOException, javax.ws.rs.WebApplicationException
aroundReadFrom
in interface javax.ws.rs.ext.ReaderInterceptor
java.io.IOException
javax.ws.rs.WebApplicationException
public final void aroundWriteTo(javax.ws.rs.ext.WriterInterceptorContext context) throws java.io.IOException, javax.ws.rs.WebApplicationException
aroundWriteTo
in interface javax.ws.rs.ext.WriterInterceptor
java.io.IOException
javax.ws.rs.WebApplicationException