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 java.lang.Object implements Endpoint, javax.ws.rs.container.ResourceInfo
Server-side request-responseinflectorfor invoking methods of annotation-based resource classes.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classResourceMethodInvoker.BuilderResource method invoker helper.
-
Field Summary
Fields Modifier and Type Field Description private booleancanUseInvocableResponseTypeprivate ResourceMethodDispatcherdispatcherprivate java.lang.reflect.TypeinvocableResponseTypeprivate ResourceMethodmethodprivate java.lang.annotation.Annotation[]methodAnnotationsprivate java.lang.Iterable<javax.ws.rs.ext.ReaderInterceptor>readerInterceptorsprivate java.util.List<RankedProvider<javax.ws.rs.container.ContainerRequestFilter>>requestFiltersprivate java.lang.Class<?>resourceClassprivate java.lang.reflect.MethodresourceMethodprivate java.util.List<RankedProvider<javax.ws.rs.container.ContainerResponseFilter>>responseFiltersprivate java.lang.Iterable<javax.ws.rs.ext.WriterInterceptor>writerInterceptors
-
Constructor Summary
Constructors Modifier Constructor Description privateResourceMethodInvoker(ResourceMethodDispatcher.Provider dispatcherProvider, ResourceMethodInvocationHandlerProvider invocationHandlerProvider, ResourceMethod method, ProcessingProviders processingProviders, InjectionManager injectionManager, javax.ws.rs.core.Configuration globalConfig, ConfiguredValidator validator)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidaddNameBoundFiltersAndInterceptors(ProcessingProviders processingProviders, java.util.Collection<RankedProvider<javax.ws.rs.container.ContainerRequestFilter>> targetRequestFilters, java.util.Collection<RankedProvider<javax.ws.rs.container.ContainerResponseFilter>> targetResponseFilters, java.util.Collection<RankedProvider<javax.ws.rs.ext.ReaderInterceptor>> targetReaderInterceptors, java.util.Collection<RankedProvider<javax.ws.rs.ext.WriterInterceptor>> targetWriterInterceptors, NameBound nameBound)private <T> voidaddNameBoundProviders(java.util.Collection<RankedProvider<T>> targetCollection, NameBound nameBound, javax.ws.rs.core.MultivaluedMap<java.lang.Class<? extends java.lang.annotation.Annotation>,RankedProvider<T>> nameBoundProviders, javax.ws.rs.core.MultivaluedMap<RankedProvider<T>,java.lang.Class<? extends java.lang.annotation.Annotation>> nameBoundProvidersInverse)ContainerResponseapply(RequestProcessingContext processingContext)Transform data of a given type into a result of the different type.java.lang.Iterable<javax.ws.rs.ext.ReaderInterceptor>getReaderInterceptors()Get all writer interceptors applicable to theresource methodwrapped by this invoker.java.lang.Iterable<RankedProvider<javax.ws.rs.container.ContainerRequestFilter>>getRequestFilters()Get all bound request filters applicable to theresource methodwrapped by this invoker.java.lang.Class<?>getResourceClass()java.lang.reflect.MethodgetResourceMethod()java.lang.Iterable<RankedProvider<javax.ws.rs.container.ContainerResponseFilter>>getResponseFilters()Get all bound response filters applicable to theresource methodwrapped by this invoker.java.lang.Iterable<javax.ws.rs.ext.WriterInterceptor>getWriterInterceptors()Get all reader interceptors applicable to theresource methodwrapped by this invoker.private javax.ws.rs.core.Responseinvoke(RequestProcessingContext context, java.lang.Object resource)java.lang.StringtoString()private java.util.function.BiConsumerwhenComplete(RequestProcessingContext processingContext)
-
-
-
Field Detail
-
method
private final ResourceMethod method
-
methodAnnotations
private final java.lang.annotation.Annotation[] methodAnnotations
-
invocableResponseType
private final java.lang.reflect.Type invocableResponseType
-
canUseInvocableResponseType
private final boolean canUseInvocableResponseType
-
dispatcher
private final ResourceMethodDispatcher dispatcher
-
resourceMethod
private final java.lang.reflect.Method resourceMethod
-
resourceClass
private final java.lang.Class<?> resourceClass
-
requestFilters
private final java.util.List<RankedProvider<javax.ws.rs.container.ContainerRequestFilter>> requestFilters
-
responseFilters
private final java.util.List<RankedProvider<javax.ws.rs.container.ContainerResponseFilter>> responseFilters
-
readerInterceptors
private final java.lang.Iterable<javax.ws.rs.ext.ReaderInterceptor> readerInterceptors
-
writerInterceptors
private final java.lang.Iterable<javax.ws.rs.ext.WriterInterceptor> writerInterceptors
-
-
Constructor Detail
-
ResourceMethodInvoker
private ResourceMethodInvoker(ResourceMethodDispatcher.Provider dispatcherProvider, ResourceMethodInvocationHandlerProvider invocationHandlerProvider, ResourceMethod method, ProcessingProviders processingProviders, InjectionManager injectionManager, javax.ws.rs.core.Configuration globalConfig, ConfiguredValidator validator)
-
-
Method Detail
-
addNameBoundProviders
private <T> void addNameBoundProviders(java.util.Collection<RankedProvider<T>> targetCollection, NameBound nameBound, javax.ws.rs.core.MultivaluedMap<java.lang.Class<? extends java.lang.annotation.Annotation>,RankedProvider<T>> nameBoundProviders, javax.ws.rs.core.MultivaluedMap<RankedProvider<T>,java.lang.Class<? extends java.lang.annotation.Annotation>> nameBoundProvidersInverse)
-
addNameBoundFiltersAndInterceptors
private void addNameBoundFiltersAndInterceptors(ProcessingProviders processingProviders, java.util.Collection<RankedProvider<javax.ws.rs.container.ContainerRequestFilter>> targetRequestFilters, java.util.Collection<RankedProvider<javax.ws.rs.container.ContainerResponseFilter>> targetResponseFilters, java.util.Collection<RankedProvider<javax.ws.rs.ext.ReaderInterceptor>> targetReaderInterceptors, java.util.Collection<RankedProvider<javax.ws.rs.ext.WriterInterceptor>> targetWriterInterceptors, NameBound nameBound)
-
getResourceMethod
public java.lang.reflect.Method getResourceMethod()
- Specified by:
getResourceMethodin interfacejavax.ws.rs.container.ResourceInfo
-
getResourceClass
public java.lang.Class<?> getResourceClass()
- Specified by:
getResourceClassin interfacejavax.ws.rs.container.ResourceInfo
-
apply
public ContainerResponse apply(RequestProcessingContext processingContext)
Description copied from interface:InflectorTransform data of a given type into a result of the different type.- Specified by:
applyin interfaceInflector<RequestProcessingContext,ContainerResponse>- Parameters:
processingContext- data to be transformed into a result.- Returns:
- data transformation result. Return value must not be
null.
-
whenComplete
private java.util.function.BiConsumer whenComplete(RequestProcessingContext processingContext)
-
invoke
private javax.ws.rs.core.Response invoke(RequestProcessingContext context, java.lang.Object resource)
-
getRequestFilters
public java.lang.Iterable<RankedProvider<javax.ws.rs.container.ContainerRequestFilter>> getRequestFilters()
Get all bound request filters applicable to theresource methodwrapped by this invoker.- Returns:
- All bound (dynamically or by name) request filters applicable to the
resource method.
-
getResponseFilters
public java.lang.Iterable<RankedProvider<javax.ws.rs.container.ContainerResponseFilter>> getResponseFilters()
Get all bound response filters applicable to theresource methodwrapped by this invoker.- Returns:
- All bound (dynamically or by name) response filters applicable to the
resource method.
-
getWriterInterceptors
public java.lang.Iterable<javax.ws.rs.ext.WriterInterceptor> getWriterInterceptors()
Get all reader interceptors applicable to theresource methodwrapped by this invoker.- Returns:
- All reader interceptors applicable to the
resource method.
-
getReaderInterceptors
public java.lang.Iterable<javax.ws.rs.ext.ReaderInterceptor> getReaderInterceptors()
Get all writer interceptors applicable to theresource methodwrapped by this invoker.- Returns:
- All writer interceptors applicable to the
resource method.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-