org.glassfish.jersey.message.internal
Class WriterInterceptorExecutor
java.lang.Object
org.glassfish.jersey.message.internal.WriterInterceptorExecutor
- All Implemented Interfaces:
- javax.ws.rs.ext.InterceptorContext, javax.ws.rs.ext.WriterInterceptorContext
public final class WriterInterceptorExecutor
- extends Object
- implements javax.ws.rs.ext.WriterInterceptorContext
Represents writer interceptor chain executor for both client and server side.
It constructs wrapped interceptor chain and invokes it. At the end of the chain
a message body writer execution interceptor is inserted,
which writes entity to the output stream provided by the chain.
- Author:
- Miroslav Fuksa (miroslav.fuksa at oracle.com), Jakub Podlesak (jakub.podlesak at oracle.com)
|
Constructor Summary |
WriterInterceptorExecutor(Object entity,
Class<?> rawType,
Type type,
Annotation[] annotations,
javax.ws.rs.core.MediaType mediaType,
javax.ws.rs.core.MultivaluedMap<String,Object> headers,
PropertiesDelegate propertiesDelegate,
OutputStream entityStream,
MessageBodyWorkers workers,
Iterable<javax.ws.rs.ext.WriterInterceptor> writerInterceptors)
Constructs a new executor to write given type to provided entityStream. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface javax.ws.rs.ext.InterceptorContext |
getAnnotations, getGenericType, getMediaType, getProperty, getPropertyNames, getType, removeProperty, setAnnotations, setGenericType, setMediaType, setProperty, setType |
WriterInterceptorExecutor
public WriterInterceptorExecutor(Object entity,
Class<?> rawType,
Type type,
Annotation[] annotations,
javax.ws.rs.core.MediaType mediaType,
javax.ws.rs.core.MultivaluedMap<String,Object> headers,
PropertiesDelegate propertiesDelegate,
OutputStream entityStream,
MessageBodyWorkers workers,
Iterable<javax.ws.rs.ext.WriterInterceptor> writerInterceptors)
- Constructs a new executor to write given type to provided
entityStream.
- Parameters:
entity - entity object to be processed.rawType - raw Java entity type.type - generic Java entity type.annotations - array of 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
Method.getParameterAnnotations.mediaType - media type of the HTTP entity.headers - mutable HTTP headers associated with HTTP entity.propertiesDelegate - request-scoped properties delegate.entityStream - InputStream from which an entity will be read. The stream is not
closed after reading the entity.workers - Message body workers.writerInterceptors - Writer interceptor that are to be used to intercept the writing of an entity. The interceptors
will be executed in the same order as given in this parameter.
getNextInterceptor
public javax.ws.rs.ext.WriterInterceptor getNextInterceptor()
- Returns next
interceptor in the chain. Stateful method.
- Returns:
- Next interceptor.
proceed
public void proceed()
throws IOException
- Starts the interceptor chain execution.
- Specified by:
proceed in interface javax.ws.rs.ext.WriterInterceptorContext
- Throws:
IOException
getEntity
public Object getEntity()
- Specified by:
getEntity in interface javax.ws.rs.ext.WriterInterceptorContext
setEntity
public void setEntity(Object entity)
- Specified by:
setEntity in interface javax.ws.rs.ext.WriterInterceptorContext
getOutputStream
public OutputStream getOutputStream()
- Specified by:
getOutputStream in interface javax.ws.rs.ext.WriterInterceptorContext
setOutputStream
public void setOutputStream(OutputStream os)
- Specified by:
setOutputStream in interface javax.ws.rs.ext.WriterInterceptorContext
getHeaders
public javax.ws.rs.core.MultivaluedMap<String,Object> getHeaders()
- Specified by:
getHeaders in interface javax.ws.rs.ext.WriterInterceptorContext
getProperty
public Object getProperty(String name)
- Specified by:
getProperty in interface javax.ws.rs.ext.InterceptorContext
getPropertyNames
public Collection<String> getPropertyNames()
- Specified by:
getPropertyNames in interface javax.ws.rs.ext.InterceptorContext
setProperty
public void setProperty(String name,
Object object)
- Specified by:
setProperty in interface javax.ws.rs.ext.InterceptorContext
removeProperty
public void removeProperty(String name)
- Specified by:
removeProperty in interface javax.ws.rs.ext.InterceptorContext
getAnnotations
public Annotation[] getAnnotations()
- Specified by:
getAnnotations in interface javax.ws.rs.ext.InterceptorContext
setAnnotations
public void setAnnotations(Annotation[] annotations)
- Specified by:
setAnnotations in interface javax.ws.rs.ext.InterceptorContext
getType
public Class getType()
- Specified by:
getType in interface javax.ws.rs.ext.InterceptorContext
setType
public void setType(Class type)
- Specified by:
setType in interface javax.ws.rs.ext.InterceptorContext
getGenericType
public Type getGenericType()
- Specified by:
getGenericType in interface javax.ws.rs.ext.InterceptorContext
setGenericType
public void setGenericType(Type genericType)
- Specified by:
setGenericType in interface javax.ws.rs.ext.InterceptorContext
getMediaType
public javax.ws.rs.core.MediaType getMediaType()
- Specified by:
getMediaType in interface javax.ws.rs.ext.InterceptorContext
setMediaType
public void setMediaType(javax.ws.rs.core.MediaType mediaType)
- Specified by:
setMediaType in interface javax.ws.rs.ext.InterceptorContext
Copyright © 2007-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.