Interface IIDFactory

All Known Implementing Classes:
IDFactory

public interface IIDFactory
Contract for IDFactory
Restriction:
This interface is not intended to be implemented by clients.
  • Method Details

    • addNamespace

      Namespace addNamespace(Namespace n) throws SecurityException
      Add the given Namespace to our table of available Namespaces
      Parameters:
      n - the Namespace to add
      Returns:
      Namespace the namespace already in table (null if Namespace not previously in table)
      Throws:
      SecurityException - thrown if caller does not have appropriate NamespacePermission for given namespace
    • containsNamespace

      boolean containsNamespace(Namespace n) throws SecurityException
      Check whether table contains given Namespace instance
      Parameters:
      n - the Namespace to look for
      Returns:
      true if table does contain given Namespace, false otherwise
      Throws:
      SecurityException - thrown if caller does not have appropriate NamespacePermission for given namespace
    • getNamespaces

      List<Namespace> getNamespaces() throws SecurityException
      Get a list of the current Namespace instances exposed by this factory.
      Returns:
      List of Namespace instances
      Throws:
      SecurityException - thrown if caller does not have appropriate NamespacePermission for given namespace
    • getNamespace

      Namespace getNamespace(Namespace n) throws SecurityException
      Get the given Namespace instance from table
      Parameters:
      n - the Namespace to look for
      Returns:
      Namespace
      Throws:
      SecurityException - thrown if caller does not have appropriate NamespacePermission for given namespace
    • getNamespaceByName

      Namespace getNamespaceByName(String name) throws SecurityException
      Get a Namespace instance by its string name.
      Parameters:
      name - the name to use for lookup
      Returns:
      Namespace instance. Null if not found.
      Throws:
      SecurityException - thrown if caller does not have appropriate NamespacePermission for given namespace
    • createGUID

      ID createGUID() throws IDCreateException
      Make a GUID using SHA-1 hash algorithm and a default of 16bits of data length. The value is Base64 encoded to allow for easy display.
      Returns:
      new ID instance
      Throws:
      IDCreateException - if ID cannot be constructed
    • createGUID

      ID createGUID(int length) throws IDCreateException
      Make a GUID using SHA-1 hash algorithm and a default of 16bits of data length. The value is Base64 encoded to allow for easy display.
      Parameters:
      length - the byte-length of data used to create a GUID
      Returns:
      new ID instance
      Throws:
      IDCreateException - if ID cannot be constructed
    • createID

      ID createID(Namespace n, Object[] args) throws IDCreateException
      Make a new identity. Given a Namespace, and an array of instance constructor parameters, return a new instance of an ID belonging to the given Namespace
      Parameters:
      n - the Namespace to which the ID will belong
      args - an Object [] of the parameters for the ID instance constructor
      Throws:
      IDCreateException - thrown if class for instantiator or instance can't be loaded, if something goes wrong during instance construction
    • createID

      ID createID(String namespaceName, Object[] args) throws IDCreateException
      Make a new identity. Given a Namespace name, and an array of instance constructor parameters, return a new instance of an ID belonging to the given Namespace
      Parameters:
      namespaceName - the name of the Namespace to which the ID will belong
      args - an Object [] of the parameters for the ID instance constructor
      Throws:
      IDCreateException - thrown if class for instantiator or ID instance can't be loaded, if something goes wrong during instance construction
    • createID

      ID createID(Namespace namespace, String uri) throws IDCreateException
      Make a new identity instance from a namespace and String.
      Parameters:
      namespace - the namespace to use to create the ID
      uri - the String uri to use to create the ID
      Throws:
      IDCreateException - thrown if class for instantiator or ID instance can't be loaded, if something goes wrong during instance construction
    • createID

      ID createID(String namespaceName, String idValue) throws IDCreateException
      Make a new identity instance from a namespaceName and idValue. The namespaceName is first used to lookup the namespace with getNamespaceByName(String), and then the result is passed into createID(Namespace,String).
      Parameters:
      namespaceName - the name of the namespace that should be used to create the ID
      idValue - the String value to use to create the ID
      Throws:
      IDCreateException - thrown if class for instantiator or ID instance can't be loaded, if something goes wrong during instance construction
    • createStringID

      ID createStringID(String idString) throws IDCreateException
      Make a an ID from a String
      Parameters:
      idString - the String to use as this ID's unique value. Note: It is incumbent upon the caller of this method to be sure that the given string allows the resulting ID to satisfy the ID contract for global uniqueness within the associated Namespace.
      Returns:
      valid ID instance
      Throws:
      IDCreateException - thrown if class for instantiator or ID instance can't be loaded, if something goes wrong during instance construction
    • createLongID

      ID createLongID(long l) throws IDCreateException
      Make a an ID from a long
      Parameters:
      l - the long to use as this ID's unique value. Note: It is incumbent upon the caller of this method to be sure that the given long allows the resulting ID to satisfy the ID contract for global uniqueness within the associated Namespace.
      Returns:
      valid ID instance
      Throws:
      IDCreateException - thrown if class for instantiator or ID instance can't be loaded, if something goes wrong during instance construction
    • createUuID

      ID createUuID(String uuid) throws IDCreateException
      Create a UuID from String
      Parameters:
      uuid - the String to use. Must be in UUID format as returned from UUID.toString(). Must not be null.
      Returns:
      valid ID instance
      Throws:
      IDCreateException
      Since:
      3.5
    • createUuID

      ID createUuID(UUID uuid) throws IDCreateException
      Create a UuID from UUID
      Parameters:
      uuid - the UUID to use. Must not be null.
      Returns:
      valid ID instance
      Throws:
      IDCreateException
      Since:
      3.5
    • createUuID

      ID createUuID() throws IDCreateException
      Create a random UuID
      Returns:
      valid ID instance from UUID.randomUUID()
      Throws:
      IDCreateException
      Since:
      3.5
    • createUuID

      ID createUuID(URI uuidURI) throws IDCreateException
      Create a UuID from URI.
      Parameters:
      uuidURI - the URI. Must not be null and must be in valid uuid syntax form as specified by rfc4122 see http://tools.ietf.org/html/rfc4122. Example: 'uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6'
      Returns:
      valid ID instance
      Throws:
      IDCreateException
      Since:
      3.5
    • createURIID

      ID createURIID(URI uri) throws IDCreateException
      Create a URIID from URI.
      Parameters:
      uri - the URI to use for the URIID. Must not be null.
      Returns:
      valid ID instance
      Throws:
      IDCreateException
      Since:
      3.5
    • createURIID

      ID createURIID(String uri) throws IDCreateException
      Create a URIID from String.
      Parameters:
      uri - the String to use for the URIID. Must not be null, and must be valid URI format as per URI.toString().
      Returns:
      valid ID instance
      Throws:
      IDCreateException
      Since:
      3.5
    • removeNamespace

      Namespace removeNamespace(Namespace n) throws SecurityException
      Remove the given Namespace from our table of available Namespaces
      Parameters:
      n - the Namespace to remove
      Returns:
      Namespace the namespace already in table (null if Namespace not previously in table)
      Throws:
      SecurityException - thrown if caller does not have appropriate NamespacePermission for given namespace