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 Detail

      • 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

        Session load​(String id)
              throws ClassNotFoundException,
                     IOException
        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