class ManagedFilterPipeline extends java.lang.Object implements FilterPipeline
Modifier and Type | Field and Description |
---|---|
private static TypeLiteral<FilterDefinition> |
FILTER_DEFS |
private FilterDefinition[] |
filterDefinitions |
private boolean |
initialized |
private Injector |
injector |
private Provider<javax.servlet.ServletContext> |
servletContext |
private ManagedServletPipeline |
servletPipeline |
Constructor and Description |
---|
ManagedFilterPipeline(Injector injector,
ManagedServletPipeline servletPipeline,
Provider<javax.servlet.ServletContext> servletContext) |
Modifier and Type | Method and Description |
---|---|
private FilterDefinition[] |
collectFilterDefinitions(Injector injector)
Introspects the injector and collects all instances of bound
List<FilterDefinition>
into a master list. |
void |
destroyPipeline() |
void |
dispatch(javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response,
javax.servlet.FilterChain proceedingFilterChain) |
void |
initPipeline(javax.servlet.ServletContext servletContext) |
private javax.servlet.ServletRequest |
withDispatcher(javax.servlet.ServletRequest servletRequest,
ManagedServletPipeline servletPipeline)
Used to create an proxy that dispatches either to the guice-servlet pipeline or the regular
pipeline based on uri-path match.
|
private final FilterDefinition[] filterDefinitions
private final ManagedServletPipeline servletPipeline
private final Provider<javax.servlet.ServletContext> servletContext
private final Injector injector
private volatile boolean initialized
private static final TypeLiteral<FilterDefinition> FILTER_DEFS
@Inject public ManagedFilterPipeline(Injector injector, ManagedServletPipeline servletPipeline, Provider<javax.servlet.ServletContext> servletContext)
private FilterDefinition[] collectFilterDefinitions(Injector injector)
List<FilterDefinition>
into a master list.
We have a guarantee that Injector.getBindings()
returns a map
that preserves insertion order in entry-set iterators.public void initPipeline(javax.servlet.ServletContext servletContext) throws javax.servlet.ServletException
initPipeline
in interface FilterPipeline
javax.servlet.ServletException
public void dispatch(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain proceedingFilterChain) throws java.io.IOException, javax.servlet.ServletException
dispatch
in interface FilterPipeline
java.io.IOException
javax.servlet.ServletException
private javax.servlet.ServletRequest withDispatcher(javax.servlet.ServletRequest servletRequest, ManagedServletPipeline servletPipeline)
public void destroyPipeline()
destroyPipeline
in interface FilterPipeline