Class FilterDefinition

java.lang.Object
com.google.inject.servlet.FilterDefinition
All Implemented Interfaces:
Provider<FilterDefinition>, ProviderWithExtensionVisitor<FilterDefinition>, javax.inject.Provider<FilterDefinition>

class FilterDefinition extends Object implements ProviderWithExtensionVisitor<FilterDefinition>
An internal representation of a filter definition against a particular URI pattern.
  • Field Details

    • filterKey

      private final Key<? extends javax.servlet.Filter> filterKey
    • patternMatcher

      private final UriPatternMatcher patternMatcher
    • initParams

      private final Map<String,String> initParams
    • filterInstance

      private final javax.servlet.Filter filterInstance
    • filter

      private final AtomicReference<javax.servlet.Filter> filter
  • Constructor Details

    • FilterDefinition

      public FilterDefinition(Key<? extends javax.servlet.Filter> filterKey, UriPatternMatcher patternMatcher, Map<String,String> initParams, javax.servlet.Filter filterInstance)
  • Method Details

    • get

      public FilterDefinition get()
      Description copied from interface: Provider
      Provides an instance of T.
      Specified by:
      get in interface Provider<FilterDefinition>
      Specified by:
      get in interface javax.inject.Provider<FilterDefinition>
    • acceptExtensionVisitor

      public <B, V> V acceptExtensionVisitor(BindingTargetVisitor<B,V> visitor, ProviderInstanceBinding<? extends B> binding)
      Description copied from interface: ProviderWithExtensionVisitor
      Instructs the extension determine if the visitor is an instance of a custom extension visitor, and if so, visit it using that method. If the visitor is not an instance of the custom extension visitor, this method MUST call visitor.visit(binding).

      Due to issues with generics, the type parameters of this method do not relate to the type of the provider. In practice, the 'B' type will always be a supertype of 'T'.

      Specified by:
      acceptExtensionVisitor in interface ProviderWithExtensionVisitor<FilterDefinition>
    • shouldFilter

      private boolean shouldFilter(String uri)
    • init

      public void init(javax.servlet.ServletContext servletContext, Injector injector, Set<javax.servlet.Filter> initializedSoFar) throws javax.servlet.ServletException
      Throws:
      javax.servlet.ServletException
    • destroy

      public void destroy(Set<javax.servlet.Filter> destroyedSoFar)
    • getFilterIfMatching

      public javax.servlet.Filter getFilterIfMatching(javax.servlet.http.HttpServletRequest request)
    • getFilter

      javax.servlet.Filter getFilter()