Package org.dspace.handle
Class HandlePlugin
java.lang.Object
org.dspace.handle.HandlePlugin
- All Implemented Interfaces:
net.handle.hdllib.HandleStorage
Extension to the CNRI Handle Server that translates requests to resolve
handles into DSpace API calls. The implementation simply stubs out most of
the methods, and delegates the rest to the
HandleService. This only provides some of the
functionality (namely, the resolving of handles to URLs) of the CNRI
HandleStorage interface.
This class is intended to be embedded in the CNRI Handle Server. It conforms to the HandleStorage interface that was delivered with Handle Server version 6.2.0.
- Version:
- $Revision$
- Author:
- Peter Breton
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ConfigurationServiceprotected HandleServiceReferences to DSpace Services -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidHandleStorage interface method - not implemented.voidcreateHandle(byte[] theHandle, net.handle.hdllib.HandleValue[] values) HandleStorage interface method - not implemented.voidHandleStorage interface method - not implemented.booleandeleteHandle(byte[] theHandle) HandleStorage interface method - not implemented.getHandlesForNA(byte[] theNAHandle) Return all handles in local storage which start with the naming authority handle.byte[][]getRawHandleValues(byte[] theHandle, int[] indexList, byte[][] typeList) Return the raw values for this handle.booleanhaveNA(byte[] theHandle) Return true if we have this handle in storage.voidinit(net.cnri.util.StreamTable st) HandleStorage interface init method.voidscanHandles(net.handle.hdllib.ScanCallback callback) HandleStorage interface method - not implemented.voidscanNAs(net.handle.hdllib.ScanCallback callback) HandleStorage interface method - not implemented.voidsetHaveNA(byte[] theHandle, boolean haveit) HandleStorage interface method - not implemented.voidshutdown()HandleStorage interface shutdown() method.voidupdateValue(byte[] theHandle, net.handle.hdllib.HandleValue[] values) HandleStorage interface method - not implemented.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.handle.hdllib.HandleStorage
createOrUpdateRecord, exists, scanHandlesFrom, scanNAsFrom, supportsDumpResumption
-
Field Details
-
handleService
References to DSpace Services -
configurationService
-
-
Constructor Details
-
HandlePlugin
public HandlePlugin()
-
-
Method Details
-
init
HandleStorage interface init method.For DSpace, we have to startup the DSpace Kernel when HandlePlugin initializes, as the HandlePlugin relies on HandleService (and other services) which are loaded by the Kernel.
- Specified by:
initin interfacenet.handle.hdllib.HandleStorage- Parameters:
st- StreamTable- Throws:
Exception- if DSpace Kernel fails to startup
-
setHaveNA
public void setHaveNA(byte[] theHandle, boolean haveit) throws net.handle.hdllib.HandleException HandleStorage interface method - not implemented.- Specified by:
setHaveNAin interfacenet.handle.hdllib.HandleStorage- Throws:
net.handle.hdllib.HandleException
-
createHandle
public void createHandle(byte[] theHandle, net.handle.hdllib.HandleValue[] values) throws net.handle.hdllib.HandleException HandleStorage interface method - not implemented.- Specified by:
createHandlein interfacenet.handle.hdllib.HandleStorage- Throws:
net.handle.hdllib.HandleException
-
deleteHandle
public boolean deleteHandle(byte[] theHandle) throws net.handle.hdllib.HandleException HandleStorage interface method - not implemented.- Specified by:
deleteHandlein interfacenet.handle.hdllib.HandleStorage- Throws:
net.handle.hdllib.HandleException
-
updateValue
public void updateValue(byte[] theHandle, net.handle.hdllib.HandleValue[] values) throws net.handle.hdllib.HandleException HandleStorage interface method - not implemented.- Specified by:
updateValuein interfacenet.handle.hdllib.HandleStorage- Throws:
net.handle.hdllib.HandleException
-
deleteAllRecords
public void deleteAllRecords() throws net.handle.hdllib.HandleExceptionHandleStorage interface method - not implemented.- Specified by:
deleteAllRecordsin interfacenet.handle.hdllib.HandleStorage- Throws:
net.handle.hdllib.HandleException
-
checkpointDatabase
public void checkpointDatabase() throws net.handle.hdllib.HandleExceptionHandleStorage interface method - not implemented.- Specified by:
checkpointDatabasein interfacenet.handle.hdllib.HandleStorage- Throws:
net.handle.hdllib.HandleException
-
shutdown
public void shutdown()HandleStorage interface shutdown() method.For DSpace, we need to destroy the kernel created in init().
- Specified by:
shutdownin interfacenet.handle.hdllib.HandleStorage
-
scanHandles
public void scanHandles(net.handle.hdllib.ScanCallback callback) throws net.handle.hdllib.HandleException HandleStorage interface method - not implemented.- Specified by:
scanHandlesin interfacenet.handle.hdllib.HandleStorage- Throws:
net.handle.hdllib.HandleException
-
scanNAs
public void scanNAs(net.handle.hdllib.ScanCallback callback) throws net.handle.hdllib.HandleException HandleStorage interface method - not implemented.- Specified by:
scanNAsin interfacenet.handle.hdllib.HandleStorage- Throws:
net.handle.hdllib.HandleException
-
getRawHandleValues
public byte[][] getRawHandleValues(byte[] theHandle, int[] indexList, byte[][] typeList) throws net.handle.hdllib.HandleException Return the raw values for this handle. This implementation returns a single URL value.- Specified by:
getRawHandleValuesin interfacenet.handle.hdllib.HandleStorage- Parameters:
theHandle- byte array representation of handleindexList- ignoredtypeList- ignored- Returns:
- A byte array with the raw data for this handle. Currently, this consists of a single URL value.
- Throws:
net.handle.hdllib.HandleException- If an error occurs while calling the Handle API.
-
haveNA
public boolean haveNA(byte[] theHandle) throws net.handle.hdllib.HandleException Return true if we have this handle in storage.- Specified by:
haveNAin interfacenet.handle.hdllib.HandleStorage- Parameters:
theHandle- byte array representation of handle- Returns:
- True if we have this handle in storage
- Throws:
net.handle.hdllib.HandleException- If an error occurs while calling the Handle API.
-
getHandlesForNA
Return all handles in local storage which start with the naming authority handle.- Specified by:
getHandlesForNAin interfacenet.handle.hdllib.HandleStorage- Parameters:
theNAHandle- byte array representation of naming authority handle- Returns:
- All handles in local storage which start with the naming authority handle.
- Throws:
net.handle.hdllib.HandleException- If an error occurs while calling the Handle API.
-