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 FilterPipelinejavax.servlet.ServletExceptionpublic void dispatch(javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response,
javax.servlet.FilterChain proceedingFilterChain)
throws java.io.IOException,
javax.servlet.ServletException
dispatch in interface FilterPipelinejava.io.IOExceptionjavax.servlet.ServletExceptionprivate javax.servlet.ServletRequest withDispatcher(javax.servlet.ServletRequest servletRequest,
ManagedServletPipeline servletPipeline)
public void destroyPipeline()
destroyPipeline in interface FilterPipeline