Interface Store

All Known Implementing Classes:
DataSourceStore, FileStore, JDBCStore, StoreBase

public interface Store
A Store is the abstraction of a Catalina component that provides persistent storage and loading of Sessions and their associated user data. Implementations are free to save and load the Sessions to any media they wish, but it is assumed that saved Sessions are persistent across server or context restarts.
Author:
Craig R. McClanahan
  • Method Details

    • getManager

      Manager getManager()
      Returns:
      the Manager instance associated with this Store.
    • setManager

      void setManager(Manager manager)
      Set the Manager associated with this Store.
      Parameters:
      manager - The Manager which will use this Store.
    • getSize

      int getSize() throws IOException
      Returns:
      the number of Sessions present in this Store.
      Throws:
      IOException - if an input/output error occurs
    • addPropertyChangeListener

      void addPropertyChangeListener(PropertyChangeListener listener)
      Add a property change listener to this component.
      Parameters:
      listener - The listener to add
    • keys

      String[] keys() throws IOException
      Returns:
      an array containing the session identifiers of all Sessions currently saved in this Store. If there are no such Sessions, a zero-length array is returned.
      Throws:
      IOException - if an input/output error occurred
    • load

      Load and return the Session associated with the specified session identifier from this Store, without removing it. If there is no such stored Session, return null.
      Parameters:
      id - Session identifier of the session to load
      Returns:
      the loaded Session instance
      Throws:
      ClassNotFoundException - if a deserialization error occurs
      IOException - if an input/output error occurs
    • remove

      void remove(String id) throws IOException
      Remove the Session with the specified session identifier from this Store, if present. If no such Session is present, this method takes no action.
      Parameters:
      id - Session identifier of the Session to be removed
      Throws:
      IOException - if an input/output error occurs
    • clear

      void clear() throws IOException
      Remove all Sessions from this Store.
      Throws:
      IOException - if an input/output error occurs
    • removePropertyChangeListener

      void removePropertyChangeListener(PropertyChangeListener listener)
      Remove a property change listener from this component.
      Parameters:
      listener - The listener to remove
    • save

      void save(Session session) throws IOException
      Save the specified Session into this Store. Any previously saved information for the associated session identifier is replaced.
      Parameters:
      session - Session to be saved
      Throws:
      IOException - if an input/output error occurs