Class InterceptorExecutor<T>
- All Implemented Interfaces:
javax.ws.rs.ext.InterceptorContext
,PropertiesDelegate
- Direct Known Subclasses:
ReaderInterceptorExecutor
,WriterInterceptorExecutor
InterceptorContext
which is common for ReaderInterceptorContext
and WriterInterceptorContext
implementations.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static class
Holder of interceptor instance and timestamp of the interceptor invocation (in ns). -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Annotation[]
private Type
private javax.ws.rs.core.MediaType
private final PropertiesDelegate
private final TracingLogger
private Class<?>
-
Constructor Summary
ConstructorsConstructorDescriptionInterceptorExecutor
(Class<?> rawType, Type type, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType, PropertiesDelegate propertiesDelegate) Constructor initializes common properties of this abstract class. -
Method Summary
Modifier and TypeMethodDescriptionprotected final void
Clear last traced interceptor information.javax.ws.rs.core.MediaType
getProperty
(String name) Returns the property with the given name registered in the current request/response exchange context, ornull
if there is no property by that name.Returns an immutablecollection
containing the property names available within the context of the current request/response exchange context.protected final TracingLogger
Get tracing logger instance configured in via properties.getType()
void
removeProperty
(String name) Removes a property with the given name from the current request/response exchange context.void
setAnnotations
(Annotation[] annotations) void
setGenericType
(Type genericType) void
setMediaType
(javax.ws.rs.core.MediaType mediaType) void
setProperty
(String name, Object object) Binds an object to a given property name in the current request/response exchange context.void
protected final void
traceAfter
(T interceptor, TracingLogger.Event event) Tracing support - log invocation of interceptor AFTER context.proceed() call.protected final void
traceBefore
(T interceptor, TracingLogger.Event event) Tracing support - log invocation of interceptor BEFORE context.proceed() call.
-
Field Details
-
propertiesDelegate
-
annotations
-
type
-
genericType
-
mediaType
private javax.ws.rs.core.MediaType mediaType -
tracingLogger
-
lastTracedInterceptor
-
-
Constructor Details
-
InterceptorExecutor
public InterceptorExecutor(Class<?> rawType, Type type, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType, PropertiesDelegate propertiesDelegate) Constructor initializes common properties of this abstract class.- Parameters:
rawType
- raw Java entity type.type
- generic Java entity type.annotations
- Annotations on the formal declaration of the resource method parameter that is the target of the message body conversion. SeeInterceptorContext.getAnnotations()
.mediaType
- MediaType of HTTP entity. SeeInterceptorContext.getMediaType()
.propertiesDelegate
- request-scoped properties delegate.
-
-
Method Details
-
getProperty
Description copied from interface:PropertiesDelegate
Returns the property with the given name registered in the current request/response exchange context, ornull
if there is no property by that name.A property allows a JAX-RS filters and interceptors to exchange additional custom information not already provided by this interface.
A list of supported properties can be retrieved using
PropertiesDelegate.getPropertyNames()
. Custom property names should follow the same convention as package names.- Specified by:
getProperty
in interfacejavax.ws.rs.ext.InterceptorContext
- Specified by:
getProperty
in interfacePropertiesDelegate
- Parameters:
name
- aString
specifying the name of the property.- Returns:
- an
Object
containing the value of the property, ornull
if no property exists matching the given name. - See Also:
-
getPropertyNames
Description copied from interface:PropertiesDelegate
Returns an immutablecollection
containing the property names available within the context of the current request/response exchange context.Use the
PropertiesDelegate.getProperty(java.lang.String)
method with a property name to get the value of a property.- Specified by:
getPropertyNames
in interfacejavax.ws.rs.ext.InterceptorContext
- Specified by:
getPropertyNames
in interfacePropertiesDelegate
- Returns:
- an immutable
collection
of property names. - See Also:
-
setProperty
Description copied from interface:PropertiesDelegate
Binds an object to a given property name in the current request/response exchange context. If the name specified is already used for a property, this method will replace the value of the property with the new value.A property allows a JAX-RS filters and interceptors to exchange additional custom information not already provided by this interface.
A list of supported properties can be retrieved using
PropertiesDelegate.getPropertyNames()
. Custom property names should follow the same convention as package names.If a
null
value is passed, the effect is the same as calling thePropertiesDelegate.removeProperty(String)
method.- Specified by:
setProperty
in interfacejavax.ws.rs.ext.InterceptorContext
- Specified by:
setProperty
in interfacePropertiesDelegate
- Parameters:
name
- aString
specifying the name of the property.object
- anObject
representing the property to be bound.
-
removeProperty
Description copied from interface:PropertiesDelegate
Removes a property with the given name from the current request/response exchange context. After removal, subsequent calls toPropertiesDelegate.getProperty(java.lang.String)
to retrieve the property value will returnnull
.- Specified by:
removeProperty
in interfacejavax.ws.rs.ext.InterceptorContext
- Specified by:
removeProperty
in interfacePropertiesDelegate
- Parameters:
name
- aString
specifying the name of the property to be removed.
-
getTracingLogger
Get tracing logger instance configured in via properties.- Returns:
- tracing logger instance.
-
traceBefore
Tracing support - log invocation of interceptor BEFORE context.proceed() call.- Parameters:
interceptor
- invoked interceptorevent
- event type to be tested
-
traceAfter
Tracing support - log invocation of interceptor AFTER context.proceed() call.- Parameters:
interceptor
- invoked interceptorevent
- event type to be tested
-
clearLastTracedInterceptor
protected final void clearLastTracedInterceptor()Clear last traced interceptor information. -
getAnnotations
- Specified by:
getAnnotations
in interfacejavax.ws.rs.ext.InterceptorContext
-
setAnnotations
- Specified by:
setAnnotations
in interfacejavax.ws.rs.ext.InterceptorContext
-
getType
- Specified by:
getType
in interfacejavax.ws.rs.ext.InterceptorContext
-
setType
- Specified by:
setType
in interfacejavax.ws.rs.ext.InterceptorContext
-
getGenericType
- Specified by:
getGenericType
in interfacejavax.ws.rs.ext.InterceptorContext
-
setGenericType
- Specified by:
setGenericType
in interfacejavax.ws.rs.ext.InterceptorContext
-
getMediaType
public javax.ws.rs.core.MediaType getMediaType()- Specified by:
getMediaType
in interfacejavax.ws.rs.ext.InterceptorContext
-
setMediaType
public void setMediaType(javax.ws.rs.core.MediaType mediaType) - Specified by:
setMediaType
in interfacejavax.ws.rs.ext.InterceptorContext
-