org.dspace.curate.Suspendable Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of dspace-api Show documentation
Show all versions of dspace-api Show documentation
DSpace core data model and service APIs.
/**
* 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.curate;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
/**
* Annotation type for CurationTasks. A task is suspendable if it may
* be suspended (halted) when a condition detected by the curation framework
* occurs. The current implementation monitors and uses the status code
* returned from the task to determine suspension, together with the
* 'invocation mode' - optionally set by the caller on the curation object.
* Thus, it effectively means that if a task is iterating over a collection,
* the first error, or failure will halt the process.
* This ensures that the status code and result of the failure are preserved.
*
* @author richardrodgers
*/
@Documented
@Retention(RetentionPolicy.RUNTIME)
public @interface Suspendable {
// by default, suspension occurs however task is invoked
Curator.Invoked invoked() default Curator.Invoked.ANY;
// by default, either ERROR or FAILURE status codes trigger suspension
int[] statusCodes() default {-1, 1};
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy