Interface ISessionStore

All Known Implementing Classes:
HttpSessionStore, MockSessionStore

public interface ISessionStore
The actual store that is used by Session to store its attributes.

This class is intended for internal framework use.

Author:
Eelco Hillenius, Johan Compagner, Matej Knopp
  • Method Details

    • getAttribute

      Gets the attribute value with the given name
      Parameters:
      request - the current request
      name - The name of the attribute to store
      Returns:
      The value of the attribute
    • getAttributeNames

      Parameters:
      request - the current request
      Returns:
      List of attributes for this session
    • setAttribute

      void setAttribute(Request request, String name, Serializable value)
      Adds or replaces the attribute with the given name and value.
      Parameters:
      request - the current request
      name - the name of the attribute
      value - the value of the attribute
    • removeAttribute

      void removeAttribute(Request request, String name)
      Removes the attribute with the given name.
      Parameters:
      request - the current request
      name - the name of the attribute to remove
    • invalidate

      void invalidate(Request request)
      Invalidates the session.
      Parameters:
      request - the current request
    • getSessionId

      String getSessionId(Request request, boolean create)
      Get the session id for the provided request. If create is false and the creation of the actual session is deferred, this method should return null to reflect it doesn't have one.
      Parameters:
      request - The request
      create - Whether to create an actual session (typically an instance of HttpSession) when not already done so
      Returns:
      The session id for the provided request, possibly null if create is false and the creation of the actual session was deferred
    • lookup

      Retrieves the session for the provided request from this facade.

      This method should return null if it is not bound yet, so that Wicket can recognize that it should create a session and call bind(Request, Session) right after that.

      Parameters:
      request - The current request
      Returns:
      The session for the provided request or null if the session was not bound
    • bind

      void bind(Request request, Session newSession)
      Adds the provided new session to this facade using the provided request.
      Parameters:
      request - The request that triggered making a new session
      newSession - The new session
    • flushSession

      void flushSession(Request request, Session session)
      Flushes the session. Flushing the session generally means setting the attribute with the value of the current session. Some servlet containers use the setAttribute() as a signal that the value is dirty and needs to be replicated. Essentially this call comes down to: String attr=getSessionAttributeName(); Session session=getAttribute(attr); setAttribute(attr, session); If the session is not yet bound it will be.
      Parameters:
      request - current request
      session - session to be flushed
    • destroy

      void destroy()
      Called when the WebApplication is destroyed.
    • registerUnboundListener

      Registers listener invoked when session is unbound.
      Parameters:
      listener -
    • unregisterUnboundListener

      Unregisters listener invoked when session is unbound.
      Parameters:
      listener -
    • getUnboundListener

      Returns:
      The list of registered unbound listeners
    • registerBindListener

      Registers listener invoked when session is bound.
      Parameters:
      listener -
    • unregisterBindListener

      Unregisters listener invoked when session is bound.
      Parameters:
      listener -
    • getBindListeners

      Returns:
      The list of registered bind listeners