Class ResourceMethodInvoker
java.lang.Object
org.glassfish.jersey.server.model.ResourceMethodInvoker
- All Implemented Interfaces:
javax.ws.rs.container.ResourceInfo
,Inflector<RequestProcessingContext,
,ContainerResponse> Endpoint
public class ResourceMethodInvoker
extends Object
implements Endpoint, javax.ws.rs.container.ResourceInfo
Server-side request-response
inflector
for invoking methods
of annotation-based resource classes.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Resource method invoker helper. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final boolean
private final ResourceMethodDispatcher
private final Type
private final ResourceMethod
private final Annotation[]
private final Iterable
<javax.ws.rs.ext.ReaderInterceptor> private final List
<RankedProvider<javax.ws.rs.container.ContainerRequestFilter>> private final Class
<?> private final Method
private final List
<RankedProvider<javax.ws.rs.container.ContainerResponseFilter>> private final Iterable
<javax.ws.rs.ext.WriterInterceptor> -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
ResourceMethodInvoker
(ResourceMethodDispatcher.Provider dispatcherProvider, ResourceMethodInvocationHandlerProvider invocationHandlerProvider, ResourceMethod method, ProcessingProviders processingProviders, InjectionManager injectionManager, javax.ws.rs.core.Configuration globalConfig, ConfiguredValidator validator) -
Method Summary
Modifier and TypeMethodDescriptionprivate void
addNameBoundFiltersAndInterceptors
(ProcessingProviders processingProviders, Collection<RankedProvider<javax.ws.rs.container.ContainerRequestFilter>> targetRequestFilters, Collection<RankedProvider<javax.ws.rs.container.ContainerResponseFilter>> targetResponseFilters, Collection<RankedProvider<javax.ws.rs.ext.ReaderInterceptor>> targetReaderInterceptors, Collection<RankedProvider<javax.ws.rs.ext.WriterInterceptor>> targetWriterInterceptors, NameBound nameBound) private <T> void
addNameBoundProviders
(Collection<RankedProvider<T>> targetCollection, NameBound nameBound, javax.ws.rs.core.MultivaluedMap<Class<? extends Annotation>, RankedProvider<T>> nameBoundProviders, javax.ws.rs.core.MultivaluedMap<RankedProvider<T>, Class<? extends Annotation>> nameBoundProvidersInverse) apply
(RequestProcessingContext processingContext) Transform data of a given type into a result of the different type.Iterable
<javax.ws.rs.ext.ReaderInterceptor> Get all writer interceptors applicable to theresource method
wrapped by this invoker.Iterable
<RankedProvider<javax.ws.rs.container.ContainerRequestFilter>> Get all bound request filters applicable to theresource method
wrapped by this invoker.Class
<?> Iterable
<RankedProvider<javax.ws.rs.container.ContainerResponseFilter>> Get all bound response filters applicable to theresource method
wrapped by this invoker.Iterable
<javax.ws.rs.ext.WriterInterceptor> Get all reader interceptors applicable to theresource method
wrapped by this invoker.private javax.ws.rs.core.Response
invoke
(RequestProcessingContext context, Object resource) toString()
private BiConsumer
whenComplete
(RequestProcessingContext processingContext)
-
Field Details
-
method
-
methodAnnotations
-
invocableResponseType
-
canUseInvocableResponseType
private final boolean canUseInvocableResponseType -
dispatcher
-
resourceMethod
-
resourceClass
-
requestFilters
-
responseFilters
-
readerInterceptors
-
writerInterceptors
-
-
Constructor Details
-
ResourceMethodInvoker
private ResourceMethodInvoker(ResourceMethodDispatcher.Provider dispatcherProvider, ResourceMethodInvocationHandlerProvider invocationHandlerProvider, ResourceMethod method, ProcessingProviders processingProviders, InjectionManager injectionManager, javax.ws.rs.core.Configuration globalConfig, ConfiguredValidator validator)
-
-
Method Details
-
addNameBoundProviders
private <T> void addNameBoundProviders(Collection<RankedProvider<T>> targetCollection, NameBound nameBound, javax.ws.rs.core.MultivaluedMap<Class<? extends Annotation>, RankedProvider<T>> nameBoundProviders, javax.ws.rs.core.MultivaluedMap<RankedProvider<T>, Class<? extends Annotation>> nameBoundProvidersInverse) -
addNameBoundFiltersAndInterceptors
private void addNameBoundFiltersAndInterceptors(ProcessingProviders processingProviders, Collection<RankedProvider<javax.ws.rs.container.ContainerRequestFilter>> targetRequestFilters, Collection<RankedProvider<javax.ws.rs.container.ContainerResponseFilter>> targetResponseFilters, Collection<RankedProvider<javax.ws.rs.ext.ReaderInterceptor>> targetReaderInterceptors, Collection<RankedProvider<javax.ws.rs.ext.WriterInterceptor>> targetWriterInterceptors, NameBound nameBound) -
getResourceMethod
- Specified by:
getResourceMethod
in interfacejavax.ws.rs.container.ResourceInfo
-
getResourceClass
- Specified by:
getResourceClass
in interfacejavax.ws.rs.container.ResourceInfo
-
apply
Description copied from interface:Inflector
Transform data of a given type into a result of the different type.- Specified by:
apply
in interfaceInflector<RequestProcessingContext,
ContainerResponse> - Parameters:
processingContext
- data to be transformed into a result.- Returns:
- data transformation result. Return value must not be
null
.
-
whenComplete
-
invoke
-
getRequestFilters
Get all bound request filters applicable to theresource method
wrapped by this invoker.- Returns:
- All bound (dynamically or by name) request filters applicable to the
resource method
.
-
getResponseFilters
Get all bound response filters applicable to theresource method
wrapped by this invoker.- Returns:
- All bound (dynamically or by name) response filters applicable to the
resource method
.
-
getWriterInterceptors
Get all reader interceptors applicable to theresource method
wrapped by this invoker.- Returns:
- All reader interceptors applicable to the
resource method
.
-
getReaderInterceptors
Get all writer interceptors applicable to theresource method
wrapped by this invoker.- Returns:
- All writer interceptors applicable to the
resource method
.
-
toString
-