Provides classes and methods to interface with the CNRI Handle System. The HandleManager class acts as the main entry point. The HandlePlugin class is intended to be loaded into the CNRI Handle Server. It acts as an adapter, translating Handle Server API calls into DSpace ones.

Using the Handle API

An example use of the Handle API is shown below:

    Item item;

    // Create or obtain a context object
    Context context;

    // Create a Handle for an Item
    String handle = HandleManager.createHandle(context, item);
    // The canonical form, which can be used for citations
    String canonical = HandleManager.getCanonicalForm(handle);
    // A URL pointing to the Item
    String url = HandleManager.resolveToURL(context, handle);

    // Resolve the handle back to an object
    Item resolvedItem = (Item) HandleManager.resolveToObject(context, handle);
    // From the object, find its handle
    String rhandle = HandleManager.findHandle(context, resolvedItem);

Using the HandlePlugin with CNRI Handle Server

In the CNRI Handle Server configuration file, set storage_type to CUSTOM and storage_class to org.dspace.handle.HandlePlugin.