org.apache.geode.modules.session.filter

## Class SessionCachingFilter

- java.lang.Object
- - org.apache.geode.modules.session.filter.SessionCachingFilter

- All Implemented Interfaces:
    javax.servlet.Filter

      public class SessionCachingFilter
      extends java.lang.Object
      implements javax.servlet.Filter

  Primary class which orchestrates everything. This is the class which gets configured in the web.xml.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `SessionCachingFilter.RequestWrapper` This request wrapper class extends the support class HttpServletRequestWrapper, which implements all the methods in the HttpServletRequest interface, as delegations to the wrapped request.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SessionCachingFilter()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `destroy()` Destroy method for this filter
    `void` | `doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain)`
    `javax.servlet.FilterConfig` | `getFilterConfig()` Return the filter configuration object for this filter.
    `static org.apache.geode.modules.session.internal.filter.SessionManager` | `getSessionManager()` Retrieve the SessionManager.
    `static java.lang.String` | `getStackTrace(java.lang.Throwable t)`
    `static javax.servlet.http.HttpSession` | `getWrappingSession(javax.servlet.http.HttpSession nativeSession)` Return the GemFire session which wraps a native session
    `void` | `init(javax.servlet.FilterConfig config)` This is where all the initialization happens.
    `void` | `setFilterConfig(javax.servlet.FilterConfig filterConfig)` Set the filter configuration object for this filter.
    `java.lang.String` | `toString()` Return a String representation of this object.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### SessionCachingFilter

          public SessionCachingFilter()

  - ### Method Detail

    - #### doFilter

          public void doFilter(javax.servlet.ServletRequest request,
                               javax.servlet.ServletResponse response,
                               javax.servlet.FilterChain chain)
                        throws java.io.IOException,
                               javax.servlet.ServletException

      Specified by:
        `doFilter` in interface `javax.servlet.Filter`
      Parameters:
        `request` - The servlet request we are processing
        `response` - The servlet response we are creating
        `chain` - The filter chain we are processing
      Throws:
        `java.io.IOException` - if an input/output error occurs
        `javax.servlet.ServletException` - if a servlet error occurs

    - #### getFilterConfig

          public javax.servlet.FilterConfig getFilterConfig()

      Return the filter configuration object for this filter.

    - #### setFilterConfig

          public void setFilterConfig(javax.servlet.FilterConfig filterConfig)

      Set the filter configuration object for this filter.
      Parameters:
        `filterConfig` - The filter configuration object

    - #### destroy

          public void destroy()

      Destroy method for this filter
      Specified by:
        `destroy` in interface `javax.servlet.Filter`

    - #### init

          public void init(javax.servlet.FilterConfig config)

      This is where all the initialization happens.
      Specified by:
        `init` in interface `javax.servlet.Filter`
      Parameters:
        `config` -
      Throws:
        `javax.servlet.ServletException`

    - #### toString

          public java.lang.String toString()

      Return a String representation of this object.
      Overrides:
        `toString` in class `java.lang.Object`

    - #### getStackTrace

          public static java.lang.String getStackTrace(java.lang.Throwable t)

    - #### getSessionManager

          public static org.apache.geode.modules.session.internal.filter.SessionManager getSessionManager()

      Retrieve the SessionManager. This is only here so that tests can get access to the cache.

    - #### getWrappingSession

          public static javax.servlet.http.HttpSession getWrappingSession(javax.servlet.http.HttpSession nativeSession)

      Return the GemFire session which wraps a native session
      Parameters:
        `nativeSession` - the native session for which the corresponding GemFire session should be returned.
      Returns:
        the GemFire session or null if no session maps to the native session