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 registerProcessingProvidersinstance intoBootstrapBag. Instances of these interfaces are processed, configured and provided using this configurator:ContainerRequestFilterContainerResponseFilterReaderInterceptorWriterInterceptorDynamicFeature
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.logging.LoggerLOGGER
-
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.voidinit(InjectionManager injectionManager, BootstrapBag bootstrapBag)Pre-initialization method should only register services intoInjectionManagerand populateBootstrapBag.voidpostInit(InjectionManager injectionManager, BootstrapBag bootstrapBag)Post-initialization method can get services fromInjectionManagerand 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:BootstrapConfiguratorPre-initialization method should only register services intoInjectionManagerand populateBootstrapBag.- Specified by:
initin 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:BootstrapConfiguratorPost-initialization method can get services fromInjectionManagerand is not able to register the new one because injection manager is already completed.- Specified by:
postInitin 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:
MultivaluedMapof all name-bound filters.
-
-