public interface PackageDisseminator
An implementation translates DSpace objects to some external "package" format. A package is a single data stream (or file) containing enough information to reconstruct the object. It can be anything from an archive like a Zip file with a manifest and metadata, to a simple manifest containing external references to the content, to a self-contained file such as a PDF.
A DIP implementation has two methods: disseminate
to produce the package itself, and getMIMEType to
identify its Internet format type (needed when transmitting the package
over HTTP).
Both of these methods are given an attribute-values
list of "parameters", which may modify their actions. Since the
format output by disseminate may be affected by
parameters, it is given to the getMIMEType method as well.
The parameters list is a generalized mechanism to pass parameters
from the package requestor to the packager, since different packagers will
understand different sets of parameters.
PackageParameters| Modifier and Type | Method and Description |
|---|---|
void |
disseminate(Context context,
DSpaceObject object,
PackageParameters params,
File pkgFile)
Export the object (Item, Collection, or Community) as a
"package" on the indicated OutputStream.
|
List<File> |
disseminateAll(Context context,
DSpaceObject dso,
PackageParameters params,
File pkgFile)
Recursively export one or more DSpace Objects as a series of packages.
|
String |
getMIMEType(PackageParameters params)
Identifies the MIME-type of this package, e.g.
|
String |
getParameterHelp()
Returns a user help string which should describe the
additional valid command-line options that this packager
implementation will accept when using the
-o or
--option flags with the Packager script. |
void disseminate(Context context, DSpaceObject object, PackageParameters params, File pkgFile) throws PackageException, CrosswalkException, AuthorizeException, SQLException, IOException
Use the params parameter list to adjust the way the
package is made, e.g. including a "metadataOnly"
parameter might make the package a bare manifest in XML
instead of a Zip file including manifest and contents.
Throws an exception of the chosen object is not acceptable or there is a failure creating the package.
context - DSpace context.object - DSpace object (item, collection, etc)params - Properties-style list of options specific to this packagerpkgFile - File where export package should be writtenPackageValidationException - if package cannot be created or there is
a fatal error in creating it.CrosswalkException - if crosswalk errorAuthorizeException - if authorization errorSQLException - if database errorIOException - if IO errorPackageExceptionList<File> disseminateAll(Context context, DSpaceObject dso, PackageParameters params, File pkgFile) throws PackageException, CrosswalkException, AuthorizeException, SQLException, IOException
Package is any serialized representation of the item, at the discretion of the implementing class. It does not have to include content bitstreams.
Use the params parameter list to adjust the way the
package is made, e.g. including a "metadataOnly"
parameter might make the package a bare manifest in XML
instead of a Zip file including manifest and contents.
Throws an exception of the initial object is not acceptable or there is a failure creating the packages.
A packager may choose not to implement disseminateAll,
or simply forward the call to disseminate if it is unable to
support recursive dissemination.
context - DSpace context.dso - initial DSpace objectparams - Properties-style list of options specific to this packagerpkgFile - File where initial package should be written. All other
packages will be written to the same directory as this File.PackageValidationException - if package cannot be created or there is
a fatal error in creating it.CrosswalkException - if crosswalk errorAuthorizeException - if authorization errorSQLException - if database errorIOException - if IO errorPackageExceptionString getMIMEType(PackageParameters params)
"application/zip".
Required when sending the package via HTTP, to
provide the Content-Type header.params - Package ParametersString getParameterHelp()
-o or
--option flags with the Packager script.Copyright © 2022 LYRASIS. All rights reserved.