Class 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 Detail

      • SECURITY_PROPERTY

        public static final String SECURITY_PROPERTY
    • Method Detail

      • 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
      • 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​(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
      • 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
      • 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​(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​(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