public interface Storage
Modifier and Type | Method and Description |
---|---|
void |
close() |
java.lang.String |
createObject(java.lang.String objectID,
java.lang.String objectName,
boolean logTxn)
Creates a new digital object with the given ID, if one does not already exist.
|
java.lang.String |
createObject(java.lang.String objectID,
java.lang.String objectName,
boolean logTxn,
long timestamp)
Creates a new digital object with the given ID, if one does not already exist.
|
java.lang.String |
createObject(java.lang.String objectID,
java.lang.String objectName,
HeaderSet txnMetadata,
long timestamp)
Version with enhanced logging (stores txnMetadata in transaction)
|
void |
deleteAttributes(java.lang.String objectID,
java.lang.String elementID,
java.lang.String[] attributeKeys,
boolean logTxn,
long timestamp)
Remove the attributes with the given keys from the object or data element.
|
void |
deleteAttributes(java.lang.String objectID,
java.lang.String elementID,
java.lang.String[] attributeKeys,
HeaderSet txnMetadata,
long timestamp)
Version with enhanced logging (stores txnMetadata in transaction)
|
boolean |
deleteDataElement(java.lang.String objectID,
java.lang.String elementID,
boolean logTxn)
Deletes the specified data element from the given object.
|
boolean |
deleteDataElement(java.lang.String objectID,
java.lang.String elementID,
boolean logTxn,
long timestamp)
Deletes the specified data element from the given object.
|
boolean |
deleteDataElement(java.lang.String objectID,
java.lang.String elementID,
HeaderSet txnMetadata,
long timestamp)
Version with enhanced logging (stores txnMetadata in transaction)
|
void |
deleteObject(java.lang.String objectID,
boolean logTxn)
Deletes the digital object along with all data elements or files that
are associated with it.
|
void |
deleteObject(java.lang.String objectID,
boolean logTxn,
long asOfTimestamp)
Deletes the digital object along with all data elements or files that
are associated with it.
|
void |
deleteObject(java.lang.String objectID,
HeaderSet txnMetadata,
long asOfTimestamp)
Version with enhanced logging (stores txnMetadata in transaction)
|
void |
deserializeObject(java.lang.String objectID,
java.lang.String format,
java.io.InputStream in)
Reset the object's state and re-initialize the object with the data in the
given InputStream in the given format.
|
boolean |
doesDataElementExist(java.lang.String objectID,
java.lang.String elementID)
Returns true if the given data element exists
|
boolean |
doesObjectExist(java.lang.String objectID)
Returns true if the given digital object exists.
|
HeaderSet |
getAttributes(java.lang.String objectID,
java.lang.String elementID,
HeaderSet container)
Get the attributes for the given object or element within the object.
|
java.io.InputStream |
getDataElement(java.lang.String objectID,
java.lang.String elementID)
Returns the identified data element for the given object.
|
java.io.File |
getFileForDataElement(java.lang.String objectID,
java.lang.String elementID)
Returns the File in which the given data element is stored, if any.
|
DOMetadata |
getObjectInfo(java.lang.String objectID,
DOMetadata metadata)
Returns any known metadata for the digital object with the given identifier.
|
AbstractTransactionQueue |
getTransactionQueue()
Returns the transaction queue set up by this storage
|
void |
initTransactionQueue(java.io.File txnDir)
Initialize the transaction queue in the given directory---server calls this after initializing storage
|
void |
initWithDirectory(Main server,
java.io.File baseDirectory)
Initializes the storage for use with server based in the given storage directory.
|
java.util.Enumeration |
listDataElements(java.lang.String objectID)
Returns an Enumeration (so that not all elements have to be loaded at once)
|
java.util.Enumeration |
listObjects()
Returns an Enumeration of all of the object IDs in the repository.
|
void |
serializeObject(java.lang.String objectID,
java.lang.String format,
java.io.OutputStream out)
Write the entire object into the given OutputStream in the given format
|
void |
setAttributes(java.lang.String objectID,
java.lang.String elementID,
HeaderSet attributes,
boolean logTxn,
long timestamp)
Add the given key-value attribute to the object, replacing any existing
attribute that has the same key.
|
void |
setAttributes(java.lang.String objectID,
java.lang.String elementID,
HeaderSet attributes,
HeaderSet txnMetadata,
long timestamp)
Version with enhanced logging (stores txnMetadata in transaction)
|
void |
setObjectInfo(DOMetadata metadata)
Sets the metadata for the object specified by the given DOMetadata.
|
void |
setTransactionQueue(AbstractTransactionQueue txnQueue)
Set the transaction queue (used e.g.
|
void |
storeDataElement(java.lang.String objectID,
java.lang.String elementID,
java.io.InputStream input,
boolean logTxn,
boolean append)
Stores the data read from the given InputStream into the given data element for
the object identified by objectID.
|
void |
storeDataElement(java.lang.String objectID,
java.lang.String elementID,
java.io.InputStream input,
boolean logTxn,
boolean append,
long timestamp)
Stores the data read from the given InputStream into the given data element for
the object identified by objectID.
|
void |
storeDataElement(java.lang.String objectID,
java.lang.String elementID,
java.io.InputStream input,
HeaderSet txnMetadata,
boolean append,
long timestamp)
Version with enhanced logging (stores txnMetadata in transaction)
|
void initWithDirectory(Main server, java.io.File baseDirectory) throws DOException
DOException
void close()
AbstractTransactionQueue getTransactionQueue()
void setTransactionQueue(AbstractTransactionQueue txnQueue)
void initTransactionQueue(java.io.File txnDir) throws java.lang.Exception
java.lang.Exception
java.lang.String createObject(java.lang.String objectID, java.lang.String objectName, boolean logTxn) throws DOException
DOException
java.lang.String createObject(java.lang.String objectID, java.lang.String objectName, boolean logTxn, long timestamp) throws DOException
DOException
DOMetadata getObjectInfo(java.lang.String objectID, DOMetadata metadata) throws DOException
DOException
void setObjectInfo(DOMetadata metadata) throws DOException
DOException
void deleteObject(java.lang.String objectID, boolean logTxn) throws DOException
DOException
void deleteObject(java.lang.String objectID, boolean logTxn, long asOfTimestamp) throws DOException
DOException
boolean doesObjectExist(java.lang.String objectID) throws DOException
DOException
java.util.Enumeration listObjects() throws DOException
DOException
java.util.Enumeration listDataElements(java.lang.String objectID) throws DOException
DOException
boolean doesDataElementExist(java.lang.String objectID, java.lang.String elementID) throws DOException
DOException
java.io.File getFileForDataElement(java.lang.String objectID, java.lang.String elementID) throws DOException
DOException
java.io.InputStream getDataElement(java.lang.String objectID, java.lang.String elementID) throws DOException
DOException
void storeDataElement(java.lang.String objectID, java.lang.String elementID, java.io.InputStream input, boolean logTxn, boolean append) throws DOException
DOException
void storeDataElement(java.lang.String objectID, java.lang.String elementID, java.io.InputStream input, boolean logTxn, boolean append, long timestamp) throws DOException
DOException
boolean deleteDataElement(java.lang.String objectID, java.lang.String elementID, boolean logTxn) throws DOException
DOException
boolean deleteDataElement(java.lang.String objectID, java.lang.String elementID, boolean logTxn, long timestamp) throws DOException
DOException
HeaderSet getAttributes(java.lang.String objectID, java.lang.String elementID, HeaderSet container) throws DOException
DOException
void setAttributes(java.lang.String objectID, java.lang.String elementID, HeaderSet attributes, boolean logTxn, long timestamp) throws DOException
DOException
void deleteAttributes(java.lang.String objectID, java.lang.String elementID, java.lang.String[] attributeKeys, boolean logTxn, long timestamp) throws DOException
DOException
void serializeObject(java.lang.String objectID, java.lang.String format, java.io.OutputStream out) throws DOException
DOException
void deserializeObject(java.lang.String objectID, java.lang.String format, java.io.InputStream in) throws DOException
DOException
java.lang.String createObject(java.lang.String objectID, java.lang.String objectName, HeaderSet txnMetadata, long timestamp) throws DOException
DOException
void deleteObject(java.lang.String objectID, HeaderSet txnMetadata, long asOfTimestamp) throws DOException
DOException
void storeDataElement(java.lang.String objectID, java.lang.String elementID, java.io.InputStream input, HeaderSet txnMetadata, boolean append, long timestamp) throws DOException
DOException
boolean deleteDataElement(java.lang.String objectID, java.lang.String elementID, HeaderSet txnMetadata, long timestamp) throws DOException
DOException
void setAttributes(java.lang.String objectID, java.lang.String elementID, HeaderSet attributes, HeaderSet txnMetadata, long timestamp) throws DOException
DOException
void deleteAttributes(java.lang.String objectID, java.lang.String elementID, java.lang.String[] attributeKeys, HeaderSet txnMetadata, long timestamp) throws DOException
DOException