org.dspace.content.crosswalk.AbstractPackagerWrappingCrosswalk Maven / Gradle / Ivy
Show all versions of dspace-api Show documentation
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.content.crosswalk;
import org.dspace.content.packager.PackageParameters;
/**
* Packager Wrapping Crosswalk plugin
*
* A Packager Wrapping Crosswalk is a crosswalk which works with or wraps
* an existing Packager for all or some of its crosswalking functionality.
*
* Crosswalks which utilize Packagers for ingestion/dissemination do not always
* have enough information to call a Packager (org.dspace.content.packager.*)
* with the proper parameters. This abstract class allows the crosswalk to
* store its own PackageParameters and deposit license, which can then be
* used by the Crosswalk to call a PackageIngester or PackagerDisseminator
* with all the proper parameters.
*
* @author Tim Donohue
* @version $Revision: 3761 $
* @see IngestionCrosswalk
* @see DisseminationCrosswalk
* @see org.dspace.content.packager.PackageIngester
* @see org.dspace.content.packager.PackageDisseminator
* @see org.dspace.content.packager.PackageParameters
*/
public abstract class AbstractPackagerWrappingCrosswalk {
// Crosswalk's PackageParameters, which can be used when calling/initializing a Packager during
// ingestion/dissemination
private PackageParameters packageParameters = null;
// Crosswalk's Ingestion License, which can be used when calling a Packager during ingestion
private String ingestionLicense = null;
/**
* Set custom packaging parameters for this Crosswalk.
*
* These PackageParameters can be used to pass on to a Packager Plugin
* to actually perform the dissemination/ingestion required
* by this crosswalk.
*
* The crosswalk itself can choose how to utilize or obey these
* PackageParameters. this method just provides the crosswalk
* access to these parameters, so that it can make smarter decisions
* about how to call a particular Packager.
*
* @param pparams PackageParameters to make available to the Crosswalk
*/
public void setPackagingParameters(PackageParameters pparams) {
this.packageParameters = pparams;
}
/**
* Get custom packaging parameters for this Crosswalk.
*
* These PackageParameters can be used to pass on to a Packager Plugin
* to actually perform the dissemination/ingestion required
* by this crosswalk.
*
* The crosswalk itself can choose how to utilize or obey these
* PackageParameters. this method just provides the crosswalk
* access to these parameters, so that it can make smarter decisions
* about how to call a particular Packager.
*
* @return PackageParameters previously made available to the Crosswalk or null
*/
public PackageParameters getPackagingParameters() {
return this.packageParameters;
}
/**
* Set custom ingestion license for this Crosswalk.
*
* This license can be used by the crosswalk when calling a PackageIngester
*
* @param license the full text of the ingestion license
* @see org.dspace.content.packager.PackageIngester
*/
public void setIngestionLicense(String license) {
this.ingestionLicense = license;
}
/**
* Get custom ingestion license for this Crosswalk.
*
* This license can be used by the crosswalk when calling a PackageIngester
*
* @return the full text of the ingestion license as a String
* @see org.dspace.content.packager.PackageIngester
*/
public String getIngestionLicense() {
return this.ingestionLicense;
}
}