Class IDFactory

java.lang.Object
org.eclipse.ecf.core.identity.IDFactory
All Implemented Interfaces:
IIDFactory

public class IDFactory extends Object implements IIDFactory
A factory class for creating ID instances. This is the factory for plugins to manufacture ID instances.
  • Field Details

    • SECURITY_PROPERTY

      public static final String SECURITY_PROPERTY
    • instance

      protected static IIDFactory instance
  • Method Details

    • getDefault

      public static IIDFactory getDefault()
    • addNamespace

      public Namespace addNamespace(Namespace namespace) throws SecurityException
      Description copied from interface: IIDFactory
      Add the given Namespace to our table of available Namespaces
      Specified by:
      addNamespace in interface IIDFactory
      Parameters:
      namespace - 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
    • addNamespace0

      public static final Namespace addNamespace0(Namespace namespace)
    • checkPermission

      protected static final void checkPermission(NamespacePermission namespacepermission) throws SecurityException
      Throws:
      SecurityException
    • containsNamespace

      public boolean containsNamespace(Namespace namespace) throws SecurityException
      Description copied from interface: IIDFactory
      Check whether table contains given Namespace instance
      Specified by:
      containsNamespace in interface IIDFactory
      Parameters:
      namespace - 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

      public List<Namespace> getNamespaces()
      Description copied from interface: IIDFactory
      Get a list of the current Namespace instances exposed by this factory.
      Specified by:
      getNamespaces in interface IIDFactory
      Returns:
      List of Namespace instances
    • containsNamespace0

      public static final boolean containsNamespace0(Namespace n)
    • getNamespace

      public Namespace getNamespace(Namespace namespace) throws SecurityException
      Description copied from interface: IIDFactory
      Get the given Namespace instance from table
      Specified by:
      getNamespace in interface IIDFactory
      Parameters:
      namespace - the Namespace to look for
      Returns:
      Namespace
      Throws:
      SecurityException - thrown if caller does not have appropriate NamespacePermission for given namespace
    • getNamespaceByName

      public Namespace getNamespaceByName(String name) throws SecurityException
      Description copied from interface: IIDFactory
      Get a Namespace instance by its string name.
      Specified by:
      getNamespaceByName in interface IIDFactory
      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
    • getNamespace0

      protected static final Namespace getNamespace0(Namespace n)
    • getNamespace0

      protected static final Namespace getNamespace0(String name)
    • createGUID

      public ID createGUID() throws IDCreateException
      Description copied from interface: IIDFactory
      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.
      Specified by:
      createGUID in interface IIDFactory
      Returns:
      new ID instance
      Throws:
      IDCreateException - if ID cannot be constructed
    • createGUID

      public ID createGUID(int length) throws IDCreateException
      Description copied from interface: IIDFactory
      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.
      Specified by:
      createGUID in interface IIDFactory
      Parameters:
      length - the byte-length of data used to create a GUID
      Returns:
      new ID instance
      Throws:
      IDCreateException - if ID cannot be constructed
    • logAndThrow

      protected static void logAndThrow(String s, Throwable t) throws IDCreateException
      Throws:
      IDCreateException
    • createID

      public ID createID(Namespace n, Object[] args) throws IDCreateException
      Description copied from interface: IIDFactory
      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
      Specified by:
      createID in interface IIDFactory
      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

      public ID createID(String namespaceName, Object[] args) throws IDCreateException
      Description copied from interface: IIDFactory
      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
      Specified by:
      createID in interface IIDFactory
      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

      public ID createID(Namespace namespace, String uri) throws IDCreateException
      Description copied from interface: IIDFactory
      Make a new identity instance from a namespace and String.
      Specified by:
      createID in interface IIDFactory
      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

      public ID createID(String namespace, String uri) throws IDCreateException
      Description copied from interface: IIDFactory
      Make a new identity instance from a namespaceName and idValue. The namespaceName is first used to lookup the namespace with IIDFactory.getNamespaceByName(String), and then the result is passed into IIDFactory.createID(Namespace,String).
      Specified by:
      createID in interface IIDFactory
      Parameters:
      namespace - the name of the namespace that should be used to create the ID
      uri - 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

      public ID createStringID(String idstring) throws IDCreateException
      Description copied from interface: IIDFactory
      Make a an ID from a String
      Specified by:
      createStringID in interface IIDFactory
      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

      public ID createLongID(long l) throws IDCreateException
      Description copied from interface: IIDFactory
      Make a an ID from a long
      Specified by:
      createLongID in interface IIDFactory
      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
    • removeNamespace

      public Namespace removeNamespace(Namespace n) throws SecurityException
      Description copied from interface: IIDFactory
      Remove the given Namespace from our table of available Namespaces
      Specified by:
      removeNamespace in interface IIDFactory
      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
    • removeNamespace0

      public static final Namespace removeNamespace0(Namespace n)
      Since:
      3.4
    • createUuID

      public ID createUuID(String uuid) throws IDCreateException
      Description copied from interface: IIDFactory
      Create a UuID from String
      Specified by:
      createUuID in interface IIDFactory
      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

      public ID createUuID(UUID uuid) throws IDCreateException
      Description copied from interface: IIDFactory
      Create a UuID from UUID
      Specified by:
      createUuID in interface IIDFactory
      Parameters:
      uuid - the UUID to use. Must not be null.
      Returns:
      valid ID instance
      Throws:
      IDCreateException
      Since:
      3.5
    • createUuID

      public ID createUuID(URI uuidURI) throws IDCreateException
      Description copied from interface: IIDFactory
      Create a UuID from URI.
      Specified by:
      createUuID in interface IIDFactory
      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

      public ID createURIID(URI uri) throws IDCreateException
      Description copied from interface: IIDFactory
      Create a URIID from URI.
      Specified by:
      createURIID in interface IIDFactory
      Parameters:
      uri - the URI to use for the URIID. Must not be null.
      Returns:
      valid ID instance
      Throws:
      IDCreateException
      Since:
      3.5
    • createURIID

      public ID createURIID(String uri) throws IDCreateException
      Description copied from interface: IIDFactory
      Create a URIID from String.
      Specified by:
      createURIID in interface IIDFactory
      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
    • createUuID

      public ID createUuID() throws IDCreateException
      Description copied from interface: IIDFactory
      Create a random UuID
      Specified by:
      createUuID in interface IIDFactory
      Returns:
      valid ID instance from UUID.randomUUID()
      Throws:
      IDCreateException
      Since:
      3.5