Package net.handle.hdllib
Interface HandleStorage
- All Known Subinterfaces:
HandleStorage2
public interface HandleStorage
HandleStorage is an interface to an object that is capable
of storing handles and their values.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Checkpoint (ie backup, and reset transaction logs) the database.void
createHandle
(byte[] handle, HandleValue[] values) Creates the specified handle in the "database" with the specified initial valuesdefault void
createOrUpdateRecord
(byte[] handle, HandleValue[] values) Creates or updates the handle to have the exact given handle values.void
Remove all of the records from the database.boolean
deleteHandle
(byte[] handle) Delete the specified handle in the database.default boolean
exists
(byte[] handle) Returns true if the given handle exists in the database.Enumeration
<byte[]> getHandlesForNA
(byte[] naHdl) Scan the database for handles with the given prefix and return an Enumeration of byte arrays with each byte array being a handle.byte[][]
getRawHandleValues
(byte[] handle, int[] indexList, byte[][] typeList) Return the pre-packaged values of the given handle that are either in the indexList or the typeList.boolean
haveNA
(byte[] authHandle) Returns true if this server is responsible for the given prefix.void
init
(StreamTable configTable) Initializes the handle storage object with the given configuration table.void
scanHandles
(ScanCallback callback) Scan the database, calling a method in the specified callback for every handle in the database.default void
scanHandlesFrom
(byte[] startingPoint, boolean inclusive, ScanCallback callback) Scan the database, calling a method in the specified callback for every handle in the database.void
scanNAs
(ScanCallback callback) Scan the homed prefix database, calling a method in the specified callback for every prefix in the database.default void
scanNAsFrom
(byte[] startingPoint, boolean inclusive, ScanCallback callback) Scan the homed prefix database, calling a method in the specified callback for every prefix in the database.void
setHaveNA
(byte[] authHandle, boolean flag) Sets a flag indicating whether or not this server is responsible for the given prefix.void
shutdown()
Save pending data and close any open files.default boolean
Returns true ifscanHandlesFrom(byte[], boolean, ScanCallback)
andscanNAsFrom(byte[], boolean, ScanCallback)
are implemented; otherwise false.void
updateValue
(byte[] handle, HandleValue[] value) Replace the handle value that has the same index as the given handle value with the given handle value.
-
Method Details
-
init
Initializes the handle storage object with the given configuration table.- Throws:
Exception
-
haveNA
Returns true if this server is responsible for the given prefix.- Throws:
HandleException
-
setHaveNA
Sets a flag indicating whether or not this server is responsible for the given prefix.- Throws:
HandleException
-
createHandle
Creates the specified handle in the "database" with the specified initial values- Throws:
HandleException
-
deleteHandle
Delete the specified handle in the database. Returns true if the given handle was in the database.- Throws:
HandleException
-
getRawHandleValues
byte[][] getRawHandleValues(byte[] handle, int[] indexList, byte[][] typeList) throws HandleException Return the pre-packaged values of the given handle that are either in the indexList or the typeList. This method should return any values of type ALIAS or REDIRECT, even if they were not requested. Return null to indicate handle not found; byte[0][] to indicate values not found.- Throws:
HandleException
-
updateValue
Replace the handle value that has the same index as the given handle value with the given handle value.- Throws:
HandleException
-
scanHandles
Scan the database, calling a method in the specified callback for every handle in the database.- Throws:
HandleException
-
scanNAs
Scan the homed prefix database, calling a method in the specified callback for every prefix in the database.- Throws:
HandleException
-
getHandlesForNA
Scan the database for handles with the given prefix and return an Enumeration of byte arrays with each byte array being a handle. naHdl is the prefix handle for the prefix that you want to list the handles for.- Throws:
HandleException
-
deleteAllRecords
Remove all of the records from the database.- Throws:
HandleException
-
checkpointDatabase
Checkpoint (ie backup, and reset transaction logs) the database. If not supported, or if the operation failed this should throw an exception. This may just be an asynchronous call that *starts* the checkpoint process, so the method may return if the checkpoint was started, not necessarily if it was successful.- Throws:
HandleException
-
shutdown
void shutdown()Save pending data and close any open files. -
supportsDumpResumption
default boolean supportsDumpResumption()Returns true ifscanHandlesFrom(byte[], boolean, ScanCallback)
andscanNAsFrom(byte[], boolean, ScanCallback)
are implemented; otherwise false. -
scanHandlesFrom
default void scanHandlesFrom(byte[] startingPoint, boolean inclusive, ScanCallback callback) throws HandleException Scan the database, calling a method in the specified callback for every handle in the database.- Throws:
HandleException
-
scanNAsFrom
default void scanNAsFrom(byte[] startingPoint, boolean inclusive, ScanCallback callback) throws HandleException Scan the homed prefix database, calling a method in the specified callback for every prefix in the database.- Throws:
HandleException
-
exists
Returns true if the given handle exists in the database.- Throws:
HandleException
-
createOrUpdateRecord
Creates or updates the handle to have the exact given handle values.- Throws:
HandleException
-