Interface Store

  • All Known Implementing Classes:
    FileStore, HAStoreBase, JDBCStore, ReplicationAttributeStore, ReplicationStore, 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.
    Version:
    $Revision: 1.2 $ $Date: 2005/12/08 01:27:21 $
    Author:
    Craig R. McClanahan
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void addPropertyChangeListener​(PropertyChangeListener listener)
      Add a property change listener to this component.
      void clear()
      Remove all Sessions from this Store.
      String getInfo()
      Return descriptive information about this Store implementation and the corresponding version number, in the format <description>/<version>.
      Manager getManager()
      Return the Manager instance associated with this Store.
      int getSize()
      Return the number of Sessions present in this Store.
      String[] keys()
      Return an array containing the session identifiers of all Sessions currently saved in this Store.
      Session load​(String id)
      Load and return the Session associated with the specified session identifier from this Store, without removing it.
      void remove​(String id)
      Remove the Session with the specified session identifier from this Store, if present.
      void removePropertyChangeListener​(PropertyChangeListener listener)
      Remove a property change listener from this component.
      void save​(Session session)
      Save the specified Session into this Store.
      void setManager​(Manager manager)
      Set the Manager associated with this Store.
    • Method Detail

      • getInfo

        String getInfo()
        Return descriptive information about this Store implementation and the corresponding version number, in the format <description>/<version>.
      • getManager

        Manager getManager()
        Return 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
        Return 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
        Return 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
        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
      • 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