Class FileStore

All Implemented Interfaces:
Lifecycle, Store

public final class FileStore extends StoreBase
Concrete implementation of the Store interface that utilizes a file per saved Session in a configured directory. Sessions that are saved are still subject to being expired based on inactivity.
Author:
Craig R. McClanahan
  • Constructor Details

    • FileStore

      public FileStore()
  • Method Details

    • getDirectory

      public String getDirectory()
      Returns:
      The directory path for this Store.
    • setDirectory

      public void setDirectory(String path)
      Set the directory path for this Store.
      Parameters:
      path - The new directory path
    • getThreadName

      public String getThreadName()
      Returns:
      The thread name for this Store.
    • getStoreName

      public String getStoreName()
      Overrides:
      getStoreName in class StoreBase
      Returns:
      the name for this Store, used for logging.
    • getSize

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

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

      public 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

      Description copied from interface: Store
      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

      public void remove(String id) throws IOException
      Description copied from interface: Store
      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
    • save

      public void save(Session session) throws IOException
      Description copied from interface: Store
      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