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 Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
close()
StorageStatus
getStorageStatus()
Returns the current status of the storage.Set<TreeName>
listTrees()
Lists the trees that exist in this storage.void
open(AccessMode accessMode)
Opens the storage engine to allow executing operations on it.<T> T
read(ReadOperation<T> readOperation)
Executes a read operation.void
removeStorageFiles()
Remove all files for a backend of this storage.Importer
startImport()
Starts the import operation.void
write(WriteOperation writeOperation)
Executes a write operation.void
write(WriteOperation writeOperation, WriteableTransaction.WriteTransactionOption option)
Executes a write operation.-
Methods inherited from interface org.opends.server.backup.Backupable
afterBackup, afterRestore, beforeBackup, beforeRestore, getBackendFiles, getBackendID, getDirectory
-
-
-
-
Method Detail
-
startImport
Importer startImport() throws ConfigException, StorageRuntimeException
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 configurationStorageRuntimeException
- if a problem occurs with the underlying storage engine- See Also:
to release all resources once import is finished
-
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:
to release all resources once import is finished
-
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 executeoption
- 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
TreeName
s representing the trees that exist in this storage
-
close
void close()
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-
-