Package org.dspace.embargo.service
Interface EmbargoService
-
- All Known Implementing Classes:
EmbargoServiceImpl
public interface EmbargoServicePublic interface to the embargo subsystem.Configuration properties: (with examples)
# DC metadata field to hold the user-supplied embargo terms embargo.field.terms = dc.embargo.terms # DC metadata field to hold computed "lift date" of embargo embargo.field.lift = dc.date.available # String to indicate indefinite (forever) embargo in terms embargo.terms.open = Indefinite # implementation of embargo setter plugin plugin.single.org.dspace.embargo.EmbargoSetter = edu.my.Setter # implementation of embargo lifter plugin plugin.single.org.dspace.embargo.EmbargoLifter = edu.my.Lifter- Author:
- Larry Stone, Richard Rodgers
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidcheckEmbargo(Context context, Item item)Iterator<Item>findItemsByLiftMetadata(Context context)DCDategetEmbargoTermsAsDate(Context context, Item item)Get the embargo lift date for an Item, if any.List<MetadataValue>getLiftMetadata(Context context, Item item)voidliftEmbargo(Context context, Item item)Lift the embargo on an item which is assumed to be under embargo.voidsetEmbargo(Context context, Item item)Put an Item under embargo until the specified lift date.
-
-
-
Field Detail
-
FOREVER
static final DCDate FOREVER
Special date signalling an Item is to be embargoed forever. * The actual date is the first day of the year 10,000 UTC.
-
-
Method Detail
-
setEmbargo
void setEmbargo(Context context, Item item) throws SQLException, AuthorizeException
Put an Item under embargo until the specified lift date. Calls EmbargoSetter plugin to adjust Item access control policies.- Parameters:
context- the DSpace contextitem- the item to embargo- Throws:
SQLException- An exception that provides information on a database access error or other errors.AuthorizeException- Exception indicating the current user of the context does not have permission to perform a particular action.
-
getEmbargoTermsAsDate
DCDate getEmbargoTermsAsDate(Context context, Item item) throws SQLException, AuthorizeException
Get the embargo lift date for an Item, if any. This looks for the metadata field configured to hold embargo terms, and gives it to the EmbargoSetter plugin's method to interpret it into an absolute timestamp. This is intended to be called at the time the Item is installed into the archive.Note that the plugin is *always* called, in case it gets its cue for the embargo date from sources other than, or in addition to, the specified field.
- Parameters:
context- the DSpace contextitem- the item to embargo- Returns:
- lift date on which the embargo is to be lifted, or null if none
- Throws:
SQLException- An exception that provides information on a database access error or other errors.AuthorizeException- Exception indicating the current user of the context does not have permission to perform a particular action.
-
liftEmbargo
void liftEmbargo(Context context, Item item) throws SQLException, AuthorizeException, IOException
Lift the embargo on an item which is assumed to be under embargo. Call the plugin to manage permissions in its own way, then delete the administrative metadata fields that dictated embargo date.- Parameters:
context- the DSpace contextitem- the item on which to lift the embargo- Throws:
IOException- A general class of exceptions produced by failed or interrupted I/O operations.SQLException- An exception that provides information on a database access error or other errors.AuthorizeException- Exception indicating the current user of the context does not have permission to perform a particular action.
-
checkEmbargo
void checkEmbargo(Context context, Item item) throws SQLException, IOException, AuthorizeException
-
getLiftMetadata
List<MetadataValue> getLiftMetadata(Context context, Item item)
-
findItemsByLiftMetadata
Iterator<Item> findItemsByLiftMetadata(Context context) throws SQLException, IOException, AuthorizeException
-
-