
org.dspace.sword.Depositor Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of dspace-sword Show documentation
Show all versions of dspace-sword Show documentation
DSpace SWORD Deposit Service Provider Extension
The newest version!
/**
* 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.sword;
import org.dspace.content.DSpaceObject;
import org.purl.sword.base.Deposit;
import org.purl.sword.base.SWORDErrorException;
/**
* @author Richard Jones
*
* Abstract class for depositing content into the archive.
*/
public abstract class Depositor {
/**
* The SWORD service implementation
*/
protected SWORDService swordService;
/**
* Construct a new Depositor with the given SWORD service on the given
* dspace object. It is anticipated that extensions of this class will
* specialise in certain kinds of dspace object
*
* @param swordService SWORD service
* @param dso DSpace object
*/
public Depositor(SWORDService swordService, DSpaceObject dso) {
this.swordService = swordService;
}
/**
* Execute the deposit process with the given SWORD deposit.
*
* @param deposit deposit request
* @return deposit result
* @throws SWORDErrorException on generic SWORD exception
* @throws DSpaceSWORDException can be thrown by the internals of the DSpace SWORD implementation
*/
public abstract DepositResult doDeposit(Deposit deposit)
throws SWORDErrorException, DSpaceSWORDException;
/**
* Undo any changes to the archive effected by the deposit
*
* @param result deposit result
* @throws DSpaceSWORDException can be thrown by the internals of the DSpace SWORD implementation
*/
public abstract void undoDeposit(DepositResult result)
throws DSpaceSWORDException;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy