Package org.glassfish.jersey.server
Class ProcessingProvidersConfigurator
- java.lang.Object
-
- org.glassfish.jersey.server.ProcessingProvidersConfigurator
-
- All Implemented Interfaces:
BootstrapConfigurator
class ProcessingProvidersConfigurator extends java.lang.Object implements BootstrapConfigurator
Configurator which initializes and registerProcessingProviders
instance intoBootstrapBag
. Instances of these interfaces are processed, configured and provided using this configurator:ContainerRequestFilter
ContainerResponseFilter
ReaderInterceptor
WriterInterceptor
DynamicFeature
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.logging.Logger
LOGGER
-
Constructor Summary
Constructors Constructor Description ProcessingProvidersConfigurator()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static <T> javax.ws.rs.core.MultivaluedMap<java.lang.Class<? extends java.lang.annotation.Annotation>,RankedProvider<T>>
filterNameBound(java.lang.Iterable<RankedProvider<T>> all, java.util.Collection<RankedProvider<javax.ws.rs.container.ContainerRequestFilter>> preMatchingFilters, ComponentBag componentBag, java.util.Collection<java.lang.Class<? extends java.lang.annotation.Annotation>> applicationNameBindings, javax.ws.rs.core.MultivaluedMap<RankedProvider<T>,java.lang.Class<? extends java.lang.annotation.Annotation>> inverseNameBoundMap)
Takes collection of all filters/interceptors (either request/reader or response/writer) and separates out all name-bound filters/interceptors, returns them as a separate MultivaluedMap, mapping the name-bound annotation to the list of name-bound filters/interceptors.void
init(InjectionManager injectionManager, BootstrapBag bootstrapBag)
Pre-initialization method should only register services intoInjectionManager
and populateBootstrapBag
.void
postInit(InjectionManager injectionManager, BootstrapBag bootstrapBag)
Post-initialization method can get services fromInjectionManager
and is not able to register the new one because injection manager is already completed.
-
-
-
Method Detail
-
init
public void init(InjectionManager injectionManager, BootstrapBag bootstrapBag)
Description copied from interface:BootstrapConfigurator
Pre-initialization method should only register services intoInjectionManager
and populateBootstrapBag
.- Specified by:
init
in interfaceBootstrapConfigurator
- Parameters:
injectionManager
- not completed injection manager.bootstrapBag
- bootstrap bag with services used in following processing.
-
postInit
public void postInit(InjectionManager injectionManager, BootstrapBag bootstrapBag)
Description copied from interface:BootstrapConfigurator
Post-initialization method can get services fromInjectionManager
and is not able to register the new one because injection manager is already completed.- Specified by:
postInit
in interfaceBootstrapConfigurator
- Parameters:
injectionManager
- already completed injection manager.bootstrapBag
- bootstrap bag with services used in following processing.
-
filterNameBound
private static <T> javax.ws.rs.core.MultivaluedMap<java.lang.Class<? extends java.lang.annotation.Annotation>,RankedProvider<T>> filterNameBound(java.lang.Iterable<RankedProvider<T>> all, java.util.Collection<RankedProvider<javax.ws.rs.container.ContainerRequestFilter>> preMatchingFilters, ComponentBag componentBag, java.util.Collection<java.lang.Class<? extends java.lang.annotation.Annotation>> applicationNameBindings, javax.ws.rs.core.MultivaluedMap<RankedProvider<T>,java.lang.Class<? extends java.lang.annotation.Annotation>> inverseNameBoundMap)
Takes collection of all filters/interceptors (either request/reader or response/writer) and separates out all name-bound filters/interceptors, returns them as a separate MultivaluedMap, mapping the name-bound annotation to the list of name-bound filters/interceptors. The same key values are also added into the inverse map passed ininverseNameBoundMap
. Note, the name-bound filters/interceptors are removed from the original filters/interceptors collection. If non-null collection is passed in the postMatching parameter (applicable for filters only), this method also removes all the global postMatching filters from the original collection and adds them to the collection passed in the postMatching parameter.- Parameters:
all
- Collection of all filters to be processed.preMatchingFilters
- Collection into which pre-matching filters should be added.componentBag
- Component bagapplicationNameBindings
- Collection of name binding annotations attached to the JAX-RS application.inverseNameBoundMap
- Inverse name bound map into which the name bound providers should be inserted. The keys are providers (filters, interceptor)- Returns:
MultivaluedMap
of all name-bound filters.
-
-