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 Type
    Method
    Description
    void
    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 values
    default 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
    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
    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
    Save pending data and close any open files.
    default boolean
    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

      void init(StreamTable configTable) throws Exception
      Initializes the handle storage object with the given configuration table.
      Throws:
      Exception
    • haveNA

      boolean haveNA(byte[] authHandle) throws HandleException
      Returns true if this server is responsible for the given prefix.
      Throws:
      HandleException
    • setHaveNA

      void setHaveNA(byte[] authHandle, boolean flag) throws HandleException
      Sets a flag indicating whether or not this server is responsible for the given prefix.
      Throws:
      HandleException
    • createHandle

      void createHandle(byte[] handle, HandleValue[] values) throws HandleException
      Creates the specified handle in the "database" with the specified initial values
      Throws:
      HandleException
    • deleteHandle

      boolean deleteHandle(byte[] handle) throws HandleException
      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

      void updateValue(byte[] handle, HandleValue[] value) throws HandleException
      Replace the handle value that has the same index as the given handle value with the given handle value.
      Throws:
      HandleException
    • scanHandles

      void scanHandles(ScanCallback callback) throws HandleException
      Scan the database, calling a method in the specified callback for every handle in the database.
      Throws:
      HandleException
    • scanNAs

      void scanNAs(ScanCallback callback) throws HandleException
      Scan the homed prefix database, calling a method in the specified callback for every prefix in the database.
      Throws:
      HandleException
    • getHandlesForNA

      Enumeration<byte[]> getHandlesForNA(byte[] naHdl) throws HandleException
      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

      void deleteAllRecords() throws HandleException
      Remove all of the records from the database.
      Throws:
      HandleException
    • checkpointDatabase

      void checkpointDatabase() throws HandleException
      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()
    • 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

      default boolean exists(byte[] handle) throws HandleException
      Returns true if the given handle exists in the database.
      Throws:
      HandleException
    • createOrUpdateRecord

      default void createOrUpdateRecord(byte[] handle, HandleValue[] values) throws HandleException
      Creates or updates the handle to have the exact given handle values.
      Throws:
      HandleException