org.dspace.content.packager
Interface PackageDisseminator

All Known Implementing Classes:
AbstractMETSDisseminator, DSpaceMETSDisseminator, PDFPackager

public interface PackageDisseminator

Plugin Interface to produce Dissemination Information Package (DIP) of a DSpace object.

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.

Version:
$Revision: 3761 $
Author:
Larry Stone
See Also:
PackageParameters

Method Summary
 void disseminate(Context context, DSpaceObject object, PackageParameters params, OutputStream out)
          Export the object (Item, Collection, or Community) as a "package" on the indicated OutputStream.
 String getMIMEType(PackageParameters params)
          Identifies the MIME-type of this package, e.g.
 

Method Detail

disseminate

void disseminate(Context context,
                 DSpaceObject object,
                 PackageParameters params,
                 OutputStream out)
                 throws PackageException,
                        CrosswalkException,
                        AuthorizeException,
                        SQLException,
                        IOException
Export the object (Item, Collection, or Community) as a "package" on the indicated OutputStream. 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 chosen object is not acceptable or there is a failure creating the package.

Parameters:
context - DSpace context.
object - DSpace object (item, collection, etc)
params - Properties-style list of options specific to this packager
out - output stream on which to write package
Throws:
PackageValidationException - if package cannot be created or there is a fatal error in creating it.
PackageException
CrosswalkException
AuthorizeException
SQLException
IOException

getMIMEType

String getMIMEType(PackageParameters params)
Identifies the MIME-type of this package, e.g. "application/zip". Required when sending the package via HTTP, to provide the Content-Type header.

Returns:
the MIME type (content-type header) of the package to be returned


Copyright © 2010 DuraSpace. All Rights Reserved.