public class DigitalObjectWrapper extends java.lang.Object implements DigitalObject, SupportsFastCopyForLayeredRepo
Constructor and Description |
---|
DigitalObjectWrapper(RepositoryWrapper repositoryWrapper,
DigitalObject originalDigitalObject) |
Modifier and Type | Method and Description |
---|---|
void |
copyTo(DigitalObject target)
Copy this digital object (in the bottom repository of a
LayeredRepository
to another digital object (in the top repository). |
DataElement |
createDataElement(java.lang.String name)
Creates a new data element with the given name in this digital object.
|
void |
delete()
Deletes this digital object from the repository through which it is being accessed.
|
void |
deleteAttribute(java.lang.String name)
Deletes a particular attribute.
|
void |
deleteAttributes(java.util.List<java.lang.String> names)
Deletes multiple attributes.
|
void |
deleteDataElement(java.lang.String name)
Deletes any data element of the given name.
|
java.lang.String |
getAttribute(java.lang.String name)
Returns the value for a particular attribute
|
java.util.Map<java.lang.String,java.lang.String> |
getAttributes()
Returns a Map view of the attributes of the digital object.
|
DataElement |
getDataElement(java.lang.String name)
Returns the data element with the given name.
|
java.util.List<java.lang.String> |
getDataElementNames()
Return a list of the names of the data elements in this digital object.
|
java.util.List<DataElement> |
getDataElements()
Returns a list of the data elements in this digital object.
|
java.lang.String |
getHandle()
Returns the identifier for this digital object.
|
DataElement |
getOrCreateDataElement(java.lang.String name)
Returns the data element with the given name, creating it if it does not exist.
|
Repository |
getRepository()
Returns the repository through which this digital object is being accessed.
|
CloseableIterator<java.util.Map.Entry<java.lang.String,java.lang.String>> |
listAttributes()
Returns a CloseableIterator view of the attributes of the digital object.
|
CloseableIterator<java.lang.String> |
listDataElementNames()
Provides a CloseableIterator view of the names of the data elements in this digital object.
|
CloseableIterator<DataElement> |
listDataElements()
Provides a CloseableIterator view of the data elements in this digital object.
|
void |
setAttribute(java.lang.String name,
java.lang.String value)
Sets a particular attribute.
|
void |
setAttributes(java.util.Map<java.lang.String,java.lang.String> attributes)
Sets the value of multiple attributes.
|
boolean |
verifyDataElement(java.lang.String name)
Verifies whether a data element with the given name exists within this digital object
|
public DigitalObjectWrapper(RepositoryWrapper repositoryWrapper, DigitalObject originalDigitalObject)
public Repository getRepository()
DigitalObject
getRepository
in interface DigitalObject
public java.lang.String getHandle()
DigitalObject
getHandle
in interface DigitalObject
public void delete() throws RepositoryException
DigitalObject
delete
in interface DigitalObject
RepositoryException
public java.util.Map<java.lang.String,java.lang.String> getAttributes() throws RepositoryException
DigitalObject
getAttributes
in interface DigitalObject
RepositoryException
public CloseableIterator<java.util.Map.Entry<java.lang.String,java.lang.String>> listAttributes() throws RepositoryException
DigitalObject
listAttributes
in interface DigitalObject
RepositoryException
public java.lang.String getAttribute(java.lang.String name) throws RepositoryException
DigitalObject
getAttribute
in interface DigitalObject
name
- the attribute nameRepositoryException
public void setAttributes(java.util.Map<java.lang.String,java.lang.String> attributes) throws RepositoryException
DigitalObject
setAttributes
in interface DigitalObject
attributes
- the attributes to set, mapped to their new valuesRepositoryException
public void setAttribute(java.lang.String name, java.lang.String value) throws RepositoryException
DigitalObject
setAttribute
in interface DigitalObject
name
- the attribute namevalue
- the attribute value; if null, the attribute will be deleted.RepositoryException
public void deleteAttributes(java.util.List<java.lang.String> names) throws RepositoryException
DigitalObject
deleteAttributes
in interface DigitalObject
names
- the names of the attributes to deleteRepositoryException
public void deleteAttribute(java.lang.String name) throws RepositoryException
DigitalObject
deleteAttribute
in interface DigitalObject
name
- the name of the attribute to deleteRepositoryException
public boolean verifyDataElement(java.lang.String name) throws RepositoryException
DigitalObject
verifyDataElement
in interface DigitalObject
name
- an identifier for a data elementRepositoryException
public DataElement createDataElement(java.lang.String name) throws CreationException, RepositoryException
DigitalObject
createDataElement
in interface DigitalObject
name
- the identifier for the new data elementCreationException
- if a data element with the given name already existsRepositoryException
public DataElement getDataElement(java.lang.String name) throws RepositoryException
DigitalObject
getDataElement
in interface DigitalObject
name
- the identifier for the data elementRepositoryException
public DataElement getOrCreateDataElement(java.lang.String name) throws RepositoryException
DigitalObject
getOrCreateDataElement
in interface DigitalObject
name
- the identifier for the data elementRepositoryException
public void deleteDataElement(java.lang.String name) throws RepositoryException
DigitalObject
deleteDataElement
in interface DigitalObject
name
- the identifier for the data elementRepositoryException
public java.util.List<java.lang.String> getDataElementNames() throws RepositoryException
DigitalObject
getDataElementNames
in interface DigitalObject
RepositoryException
public java.util.List<DataElement> getDataElements() throws RepositoryException
DigitalObject
getDataElements
in interface DigitalObject
RepositoryException
public CloseableIterator<java.lang.String> listDataElementNames() throws RepositoryException
DigitalObject
listDataElementNames
in interface DigitalObject
RepositoryException
public CloseableIterator<DataElement> listDataElements() throws RepositoryException
DigitalObject
listDataElements
in interface DigitalObject
RepositoryException
public void copyTo(DigitalObject target) throws RepositoryException, java.io.IOException
SupportsFastCopyForLayeredRepo
LayeredRepository
to another digital object (in the top repository). For implementations that can be faster than naive copying.
In general this does not copy the data of data elements, but sets the attribute
LayeredDataElement.ATTRIBUTE_DATA_ELEMENT_MISSING
to 1 on each data element not copied.copyTo
in interface SupportsFastCopyForLayeredRepo
target
- the digital object to copy intoRepositoryException
java.io.IOException