|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.dspace.content.crosswalk.PREMISCrosswalk
public class PREMISCrosswalk
PREMIS Crosswalk
Translate between DSpace Bitstream properties and PREMIS metadata format (see http://www.oclc.org/research/projects/pmwg/ for details). This is intended to implement the requirements of the DSpace METS SIP specification for both ingest and dissemination.
| Field Summary |
|---|
| Fields inherited from interface org.dspace.content.crosswalk.DisseminationCrosswalk |
|---|
XSI_NS |
| Constructor Summary | |
|---|---|
PREMISCrosswalk()
|
|
| Method Summary | |
|---|---|
boolean |
canDisseminate(DSpaceObject dso)
Predicate: Can this disseminator crosswalk the given object. |
org.jdom.Element |
disseminateElement(DSpaceObject dso)
Execute crosswalk, returning one XML root element as a JDOM Element object. |
List |
disseminateList(DSpaceObject dso)
Execute crosswalk, returning List of XML elements. |
org.jdom.Namespace[] |
getNamespaces()
Get XML namespaces of the elements this crosswalk may return. |
String |
getSchemaLocation()
Get the XML Schema location(s) of the target metadata format. |
void |
ingest(Context context,
DSpaceObject dso,
org.jdom.Element root)
Crosswalk metadata from external XML representation to DSpace internal representations. |
void |
ingest(Context context,
DSpaceObject dso,
List ml)
Crosswalk metadata from external XML representation to DSpace internal representations. |
boolean |
preferList()
Predicate: Does this disseminator prefer to return a list of Elements, rather than a single root Element? |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public PREMISCrosswalk()
| Method Detail |
|---|
public void ingest(Context context,
DSpaceObject dso,
org.jdom.Element root)
throws CrosswalkException,
IOException,
SQLException,
AuthorizeException
IngestionCrosswalk
It is otherwise just like the List form of
ingest() above.
ingest in interface IngestionCrosswalkcontext - DSpace context.dso - DSpace Object (usually an Item) to which new metadata gets attached.root - root Element of metadata document.
CrosswalkInternalException - (CrosswalkException) failure of the crosswalk itself.
CrosswalkObjectNotSupported - (CrosswalkException) Cannot crosswalk into this kind of DSpace object.
MetadataValidationException - (CrosswalkException) metadata format was not acceptable or missing required elements.
IOException - I/O failure in services this calls
SQLException - Database failure in services this calls
AuthorizeException - current user not authorized for this operation.
CrosswalkException
public void ingest(Context context,
DSpaceObject dso,
List ml)
throws CrosswalkException,
IOException,
SQLException,
AuthorizeException
IngestionCrosswalkList of JDOM XML elements. It interprets the
contents of each element and adds the appropriate values to the
DSpace Object's internal metadata represenation.
Note that this method may be called several times for the same target Item, if the metadata comes as several lists of elements, so it should not add fixed metadata values on each or they may appear multiples times.
NOTE:
Most XML metadata standards (e.g. MODS) are defined as a "root"
element which contains a sequence of "fields" that have the
descriptive information. Some metadata containers have a
"disembodied" list of fields, rather than the root element, so
this ingest method is intended to accept that bare
list of fields. However, it must also accept a list containing
only the "root" element for the metadata structure (e.g. the
"mods:mods" wrapper in a MODS expression) as a member of the
list. It can handle this case by calling the single-element
version of ingest() on the "root" element.
Some callers of the crosswalk plugin may not be careful about (or capable of) choosing whether the list or element version should be called.
ingest in interface IngestionCrosswalkcontext - DSpace context.dso - DSpace Object (Item, Bitstream, etc) to which new metadata gets attached.ml - List of XML Elements of metadata
CrosswalkInternalException - (CrosswalkException) failure of the crosswalk itself.
CrosswalkObjectNotSupported - (CrosswalkException) Cannot crosswalk into this kind of DSpace object.
MetadataValidationException - (CrosswalkException) metadata format was not acceptable or missing required elements.
IOException - I/O failure in services this calls
SQLException - Database failure in services this calls
AuthorizeException - current user not authorized for this operation.
CrosswalkExceptionpublic org.jdom.Namespace[] getNamespaces()
DisseminationCrosswalk
getNamespaces in interface DisseminationCrosswalkpublic String getSchemaLocation()
DisseminationCrosswalkxsi:schemaLocation
attribute that should be applied to the generated XML.
It may return the empty string if no schema is known, but crosswalk authors are strongly encouraged to implement this call so their output XML can be validated correctly.
getSchemaLocation in interface DisseminationCrosswalkpublic boolean canDisseminate(DSpaceObject dso)
DisseminationCrosswalk
canDisseminate in interface DisseminationCrosswalkdso - dspace object, e.g. an Item.
public org.jdom.Element disseminateElement(DSpaceObject dso)
throws CrosswalkException,
IOException,
SQLException,
AuthorizeException
DisseminationCrosswalkElement object.
This is typically the root element of a document.
disseminateElement in interface DisseminationCrosswalkdso - the DSpace Object whose metadata to export.
null
CrosswalkInternalException - (CrosswalkException) failure of the crosswalk itself.
CrosswalkObjectNotSupported - (CrosswalkException) Cannot crosswalk this kind of DSpace object.
IOException - I/O failure in services this calls
SQLException - Database failure in services this calls
AuthorizeException - current user not authorized for this operation.
CrosswalkException
public List disseminateList(DSpaceObject dso)
throws CrosswalkException,
IOException,
SQLException,
AuthorizeException
DisseminationCrosswalkList of JDOM Element objects representing
the XML produced by the crosswalk. This is typically called when
a list of fields is desired, e.g. for embedding in a METS document
xmlData field.
When there are no results, an
empty list is returned, but never null.
disseminateList in interface DisseminationCrosswalkdso - the DSpace Object whose metadata to export.
CrosswalkInternalException - (CrosswalkException) failure of the crosswalk itself.
CrosswalkObjectNotSupported - (CrosswalkException) Cannot crosswalk this kind of DSpace object.
IOException - I/O failure in services this calls
SQLException - Database failure in services this calls
AuthorizeException - current user not authorized for this operation.
CrosswalkExceptionpublic boolean preferList()
DisseminationCrosswalk
Some metadata formats have an XML schema without a root element,
for example, the Dublin Core and Qualified Dublin Core formats.
This would be true for a crosswalk into QDC, since
it would "prefer" to return a list, since any root element it has
to produce would have to be part of a nonstandard schema. In
most cases your implementation will want to return
false
preferList in interface DisseminationCrosswalk
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||