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
 void checkpointDatabase()
          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
 void deleteAllRecords()
          Remove all of the records from the database.
 boolean deleteHandle(byte[] handle)
          Delete the specified handle in the database.
 java.util.Enumeration 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(net.cnri.util.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.
 void scanNAs(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.
 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 Detail

init

void init(net.cnri.util.StreamTable configTable)
          throws java.lang.Exception
Initializes the handle storage object with the given configuration table.

Throws:
java.lang.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

java.util.Enumeration 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.