Interface Storage

All Superinterfaces:
AutoCloseable, Backupable, Closeable
All Known Implementing Classes:
JEStorage

public interface Storage extends Backupable, Closeable
This interface abstracts the underlying storage engine, isolating the pluggable backend generic code from a particular storage engine implementation.
  • Method Details

    • startImport

      Starts the import operation.
      Returns:
      a new Importer object which must be closed to release all resources
      Throws:
      ConfigException - if there is a problem with the configuration
      StorageRuntimeException - if a problem occurs with the underlying storage engine
      See Also:
    • open

      void open(AccessMode accessMode) throws Exception
      Opens the storage engine to allow executing operations on it.
      Parameters:
      accessMode - Specify the access mode to this storage.
      Throws:
      NullPointerException - if accessMode is null.
      Exception - if a problem occurs with the underlying storage engine
      See Also:
    • read

      <T> T read(ReadOperation<T> readOperation) throws Exception
      Executes a read operation. In case of a read operation rollback, implementations must ensure the read operation is retried until it succeeds.
      Type Parameters:
      T - type of the value returned
      Parameters:
      readOperation - the read operation to execute
      Returns:
      the value read by the read operation
      Throws:
      Exception - if a problem occurs with the underlying storage engine
    • write

      void write(WriteOperation writeOperation) throws Exception
      Executes a write operation. In case of a write operation rollback, implementations must ensure the write operation is retried until it succeeds.
      Parameters:
      writeOperation - the write operation to execute
      Throws:
      Exception - if a problem occurs with the underlying storage engine
    • write

      void write(WriteOperation writeOperation, WriteableTransaction.WriteTransactionOption option) throws Exception
      Executes a write operation. In case of a write operation rollback, implementations must ensure the write operation is retried until it succeeds.
      Parameters:
      writeOperation - the write operation to execute
      option - the option to apply to this transaction
      Throws:
      Exception - if a problem occurs with the underlying storage engine
    • removeStorageFiles

      void removeStorageFiles() throws StorageRuntimeException
      Remove all files for a backend of this storage.
      Throws:
      StorageRuntimeException - if removal fails
    • getStorageStatus

      StorageStatus getStorageStatus()
      Returns the current status of the storage.
      Returns:
      the current status of the storage
    • listTrees

      Set<TreeName> listTrees()
      Lists the trees that exist in this storage.
      Returns:
      a set of TreeNames representing the trees that exist in this storage
    • close

      void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable