org.dspace.identifier
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
 void delete(Context context, DSpaceObject dso)
          Delete (Unbind) all identifiers registered for a specific DSpace item.
 void delete(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.
 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.
 void register(Context context, DSpaceObject dso)
           
 void register(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.
 void reserve(Context context, DSpaceObject dso)
          Reserves any identifiers necessary based on the capabilities of all providers in the service.
 void reserve(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.
 DSpaceObject resolve(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 -
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.

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 -
identifier -
Throws:
IdentifierNotFoundException
IdentifierNotResolvableException

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 -
dso -
Throws:
AuthorizeException
SQLException
IdentifierException

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 -
dso -
identifier -
Throws:
AuthorizeException
SQLException
IdentifierException

register

void register(Context context,
              DSpaceObject dso)
              throws AuthorizeException,
                     SQLException,
                     IdentifierException
Parameters:
context -
dso -
Throws:
AuthorizeException
SQLException
IdentifierException

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 -
dso -
identifier -
Throws:
AuthorizeException
SQLException
IdentifierException

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 -
dso -
Throws:
AuthorizeException
SQLException
IdentifierException

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 -
dso -
identifier -
Throws:
AuthorizeException
SQLException
IdentifierException


Copyright © 2012 DuraSpace. All Rights Reserved.