public class ResourceMethodInvoker extends java.lang.Object implements Endpoint, javax.ws.rs.container.ResourceInfo
inflector
for invoking methods
of annotation-based resource classes.Modifier and Type | Class and Description |
---|---|
static class |
ResourceMethodInvoker.Builder
Resource method invoker "assisted" injection helper.
|
Modifier and Type | Field and Description |
---|---|
private boolean |
canUseInvocableResponseType |
private ResourceMethodDispatcher |
dispatcher |
private java.lang.reflect.Type |
invocableResponseType |
private ResourceMethod |
method |
private java.lang.annotation.Annotation[] |
methodAnnotations |
private java.lang.Iterable<javax.ws.rs.ext.ReaderInterceptor> |
readerInterceptors |
private java.util.List<RankedProvider<javax.ws.rs.container.ContainerRequestFilter>> |
requestFilters |
private java.lang.Class<?> |
resourceClass |
private java.lang.reflect.Method |
resourceMethod |
private java.util.List<RankedProvider<javax.ws.rs.container.ContainerResponseFilter>> |
responseFilters |
private java.lang.Iterable<javax.ws.rs.ext.WriterInterceptor> |
writerInterceptors |
Modifier | Constructor and Description |
---|---|
private |
ResourceMethodInvoker(ResourceMethodDispatcher.Provider dispatcherProvider,
ResourceMethodInvocationHandlerProvider invocationHandlerProvider,
ResourceMethod method,
ProcessingProviders processingProviders,
org.glassfish.hk2.api.ServiceLocator locator,
javax.ws.rs.core.Configuration globalConfig,
ConfiguredValidator validator) |
Modifier and Type | Method and Description |
---|---|
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) |
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) |
ContainerResponse |
apply(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 the
resource method
wrapped by this invoker. |
java.lang.Iterable<RankedProvider<javax.ws.rs.container.ContainerRequestFilter>> |
getRequestFilters()
Get all bound request filters applicable to the
resource method
wrapped by this invoker. |
java.lang.Class<?> |
getResourceClass() |
java.lang.reflect.Method |
getResourceMethod() |
java.lang.Iterable<RankedProvider<javax.ws.rs.container.ContainerResponseFilter>> |
getResponseFilters()
Get all bound response filters applicable to the
resource method
wrapped by this invoker. |
java.lang.Iterable<javax.ws.rs.ext.WriterInterceptor> |
getWriterInterceptors()
Get all reader interceptors applicable to the
resource method
wrapped by this invoker. |
private javax.ws.rs.core.Response |
invoke(RequestProcessingContext context,
java.lang.Object resource) |
java.lang.String |
toString() |
private final ResourceMethod method
private final java.lang.annotation.Annotation[] methodAnnotations
private final java.lang.reflect.Type invocableResponseType
private final boolean canUseInvocableResponseType
private final ResourceMethodDispatcher dispatcher
private final java.lang.reflect.Method resourceMethod
private final java.lang.Class<?> resourceClass
private final java.util.List<RankedProvider<javax.ws.rs.container.ContainerRequestFilter>> requestFilters
private final java.util.List<RankedProvider<javax.ws.rs.container.ContainerResponseFilter>> responseFilters
private final java.lang.Iterable<javax.ws.rs.ext.ReaderInterceptor> readerInterceptors
private final java.lang.Iterable<javax.ws.rs.ext.WriterInterceptor> writerInterceptors
private ResourceMethodInvoker(ResourceMethodDispatcher.Provider dispatcherProvider, ResourceMethodInvocationHandlerProvider invocationHandlerProvider, ResourceMethod method, ProcessingProviders processingProviders, org.glassfish.hk2.api.ServiceLocator locator, javax.ws.rs.core.Configuration globalConfig, ConfiguredValidator validator)
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)
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)
public java.lang.reflect.Method getResourceMethod()
getResourceMethod
in interface javax.ws.rs.container.ResourceInfo
public java.lang.Class<?> getResourceClass()
getResourceClass
in interface javax.ws.rs.container.ResourceInfo
public ContainerResponse apply(RequestProcessingContext processingContext)
Inflector
apply
in interface Inflector<RequestProcessingContext,ContainerResponse>
processingContext
- data to be transformed into a result.null
.private javax.ws.rs.core.Response invoke(RequestProcessingContext context, java.lang.Object resource)
public java.lang.Iterable<RankedProvider<javax.ws.rs.container.ContainerRequestFilter>> getRequestFilters()
resource method
wrapped by this invoker.resource
method
.public java.lang.Iterable<RankedProvider<javax.ws.rs.container.ContainerResponseFilter>> getResponseFilters()
resource method
wrapped by this invoker.resource
method
.public java.lang.Iterable<javax.ws.rs.ext.WriterInterceptor> getWriterInterceptors()
resource method
wrapped by this invoker.resource method
.public java.lang.Iterable<javax.ws.rs.ext.ReaderInterceptor> getReaderInterceptors()
resource method
wrapped by this invoker.resource method
.public java.lang.String toString()
toString
in class java.lang.Object