Package org.dspace.identifier.service
Interface IdentifierService
-
- All Known Implementing Classes:
IdentifierServiceImpl
public interface IdentifierService- Author:
- Fabio Bolognesi (fabio at atmire dot com), Mark Diggory (markd at atmire dot com), Ben Bosman (ben at atmire dot com)
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voiddelete(Context context, DSpaceObject dso)Delete (Unbind) all identifiers registered for a specific DSpace item.voiddelete(Context context, DSpaceObject dso, String identifier)Used to Delete a Specific Identifier (for example a Handle, hdl:1234.5/6) The provider is responsible for Detecting and Processing the appropriate identifier, all Providers are interrogated, multiple providers can process the same identifier.List<String>lookup(Context context, DSpaceObject dso)Gets the identifiers all registered IdentifierProvider returns if asked to lookup the provided DSpaceObject.Stringlookup(Context context, DSpaceObject dso, Class<? extends Identifier> identifier)Get an identifier for a given object which is assignment-compatible with a given Identifier type.voidregister(Context context, DSpaceObject dso)voidregister(Context context, DSpaceObject dso, String identifier)Used to Register a specific Identifier (for example a Handle, hdl:1234.5/6) The provider is responsible for detecting and processing the appropriate identifier.voidreserve(Context context, DSpaceObject dso)Reserves any identifiers necessary based on the capabilities of all providers in the service.voidreserve(Context context, DSpaceObject dso, String identifier)Used to Reserve a Specific Identifier (for example a Handle, hdl:1234.5/6) The provider is responsible for Detecting and Processing the appropriate identifier, all Providers are interrogated, multiple providers can process the same identifier.DSpaceObjectresolve(Context context, String identifier)This will resolve a DSpaceObject based on a provided Identifier.
-
-
-
Method Detail
-
lookup
String lookup(Context context, DSpaceObject dso, Class<? extends Identifier> identifier)
Get an identifier for a given object which is assignment-compatible with a given Identifier type.- Parameters:
context- The relevant DSpace Context.dso- the object to be identified.identifier- instance of an Identifier of the required type.- Returns:
- the matching identifier, or the site identifier if the object is a Site, or null if no matching identifier is found.
-
lookup
List<String> lookup(Context context, DSpaceObject dso)
Gets the identifiers all registered IdentifierProvider returns if asked to lookup the provided DSpaceObject.- Parameters:
context- The relevant DSpace Context.dso- the object to be identified.- Returns:
- the matching identifiers, or the site identifier if the object is a Site, or an empty array if no matching identifier is found.
-
resolve
DSpaceObject resolve(Context context, String identifier) throws IdentifierNotFoundException, IdentifierNotResolvableException
This will resolve a DSpaceObject based on a provided Identifier. The Service will interrogate the providers in no particular order and return the first successful result discovered. If no resolution is successful, the method will return null if no object is found. TODO: Verify null is returned.- Parameters:
context- The relevant DSpace Context.identifier- instance of an Identifier of the required type.- Returns:
- the DSpace object associated with the identifier
- Throws:
IdentifierNotFoundException- if identifier not foundIdentifierNotResolvableException- if identifier not resolvable
-
reserve
void reserve(Context context, DSpaceObject dso) throws AuthorizeException, SQLException, IdentifierException
Reserves any identifiers necessary based on the capabilities of all providers in the service.- Parameters:
context- The relevant DSpace Context.dso- DSpace object to be reserved- Throws:
AuthorizeException- if authorization errorSQLException- if database errorIdentifierException- if identifier error
-
reserve
void reserve(Context context, DSpaceObject dso, String identifier) throws AuthorizeException, SQLException, IdentifierException
Used to Reserve a Specific Identifier (for example a Handle, hdl:1234.5/6) The provider is responsible for Detecting and Processing the appropriate identifier, all Providers are interrogated, multiple providers can process the same identifier.- Parameters:
context- The relevant DSpace Context.dso- DSpace object to be reservedidentifier- instance of an Identifier of the required type.- Throws:
AuthorizeException- if authorization errorSQLException- if database errorIdentifierException- if identifier error
-
register
void register(Context context, DSpaceObject dso) throws AuthorizeException, SQLException, IdentifierException
- Parameters:
context- The relevant DSpace Context.dso- DSpace object to be registered- Throws:
AuthorizeException- if authorization errorSQLException- if database errorIdentifierException- if identifier error
-
register
void register(Context context, DSpaceObject dso, String identifier) throws AuthorizeException, SQLException, IdentifierException
Used to Register a specific Identifier (for example a Handle, hdl:1234.5/6) The provider is responsible for detecting and processing the appropriate identifier. All Providers are interrogated. Multiple providers can process the same identifier.- Parameters:
context- The relevant DSpace Context.dso- DSpace object to be registeredidentifier- instance of an Identifier of the required type.- Throws:
AuthorizeException- if authorization errorSQLException- if database errorIdentifierException- if identifier error
-
delete
void delete(Context context, DSpaceObject dso) throws AuthorizeException, SQLException, IdentifierException
Delete (Unbind) all identifiers registered for a specific DSpace item. Identifiers are "unbound" across all providers in no particular order.- Parameters:
context- The relevant DSpace Context.dso- DSpace object to be deleted- Throws:
AuthorizeException- if authorization errorSQLException- if database errorIdentifierException- if identifier error
-
delete
void delete(Context context, DSpaceObject dso, String identifier) throws AuthorizeException, SQLException, IdentifierException
Used to Delete a Specific Identifier (for example a Handle, hdl:1234.5/6) The provider is responsible for Detecting and Processing the appropriate identifier, all Providers are interrogated, multiple providers can process the same identifier.- Parameters:
context- The relevant DSpace Context.dso- DSpace object to be deletedidentifier- instance of an Identifier of the required type.- Throws:
AuthorizeException- if authorization errorSQLException- if database errorIdentifierException- if identifier error
-
-