Package org.eclipse.ecf.core.identity
Class IDFactory
java.lang.Object
org.eclipse.ecf.core.identity.IDFactory
- All Implemented Interfaces:
IIDFactory
A factory class for creating ID instances. This is the factory for plugins to
manufacture ID instances.
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionaddNamespace
(Namespace namespace) Add the given Namespace to our table of available Namespacesstatic final Namespace
addNamespace0
(Namespace namespace) protected static final void
checkPermission
(NamespacePermission namespacepermission) boolean
containsNamespace
(Namespace namespace) Check whether table contains given Namespace instancestatic final boolean
Make a GUID using SHA-1 hash algorithm and a default of 16bits of data length.createGUID
(int length) Make a GUID using SHA-1 hash algorithm and a default of 16bits of data length.Make a new identity.Make a new identity instance from a namespaceName and idValue.Make a new identity.Make a new identity instance from a namespace and String.createLongID
(long l) Make a an ID from a longcreateStringID
(String idstring) Make a an ID from a StringcreateURIID
(String uri) Create a URIID from String.createURIID
(URI uri) Create a URIID from URI.Create a random UuIDcreateUuID
(String uuid) Create a UuID from StringcreateUuID
(URI uuidURI) Create a UuID from URI.createUuID
(UUID uuid) Create a UuID from UUIDstatic IIDFactory
getNamespace
(Namespace namespace) Get the given Namespace instance from tableprotected static final Namespace
getNamespace0
(String name) protected static final Namespace
getNamespaceByName
(String name) Get a Namespace instance by its string name.Get a list of the current Namespace instances exposed by this factory.protected static void
logAndThrow
(String s, Throwable t) Remove the given Namespace from our table of available Namespacesstatic final Namespace
-
Field Details
-
SECURITY_PROPERTY
-
instance
-
-
Method Details
-
getDefault
-
addNamespace
Description copied from interface:IIDFactory
Add the given Namespace to our table of available Namespaces- Specified by:
addNamespace
in interfaceIIDFactory
- 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
-
checkPermission
protected static final void checkPermission(NamespacePermission namespacepermission) throws SecurityException - Throws:
SecurityException
-
containsNamespace
Description copied from interface:IIDFactory
Check whether table contains given Namespace instance- Specified by:
containsNamespace
in interfaceIIDFactory
- 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
Description copied from interface:IIDFactory
Get a list of the current Namespace instances exposed by this factory.- Specified by:
getNamespaces
in interfaceIIDFactory
- Returns:
- List
of Namespace instances
-
containsNamespace0
-
getNamespace
Description copied from interface:IIDFactory
Get the given Namespace instance from table- Specified by:
getNamespace
in interfaceIIDFactory
- Parameters:
namespace
- the Namespace to look for- Returns:
- Namespace
- Throws:
SecurityException
- thrown if caller does not have appropriate NamespacePermission for given namespace
-
getNamespaceByName
Description copied from interface:IIDFactory
Get a Namespace instance by its string name.- Specified by:
getNamespaceByName
in interfaceIIDFactory
- 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
-
getNamespace0
-
createGUID
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 interfaceIIDFactory
- Returns:
- new ID instance
- Throws:
IDCreateException
- if ID cannot be constructed
-
createGUID
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 interfaceIIDFactory
- Parameters:
length
- the byte-length of data used to create a GUID- Returns:
- new ID instance
- Throws:
IDCreateException
- if ID cannot be constructed
-
logAndThrow
- Throws:
IDCreateException
-
createID
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 interfaceIIDFactory
- Parameters:
n
- the Namespace to which the ID will belongargs
- 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
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 interfaceIIDFactory
- Parameters:
namespaceName
- the name of the Namespace to which the ID will belongargs
- 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
Description copied from interface:IIDFactory
Make a new identity instance from a namespace and String.- Specified by:
createID
in interfaceIIDFactory
- Parameters:
namespace
- the namespace to use to create the IDuri
- 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
Description copied from interface:IIDFactory
Make a new identity instance from a namespaceName and idValue. The namespaceName is first used to lookup the namespace withIIDFactory.getNamespaceByName(String)
, and then the result is passed intoIIDFactory.createID(Namespace,String)
.- Specified by:
createID
in interfaceIIDFactory
- Parameters:
namespace
- the name of the namespace that should be used to create the IDuri
- 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
Description copied from interface:IIDFactory
Make a an ID from a String- Specified by:
createStringID
in interfaceIIDFactory
- 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
Description copied from interface:IIDFactory
Make a an ID from a long- Specified by:
createLongID
in interfaceIIDFactory
- 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
Description copied from interface:IIDFactory
Remove the given Namespace from our table of available Namespaces- Specified by:
removeNamespace
in interfaceIIDFactory
- 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
- Since:
- 3.4
-
createUuID
Description copied from interface:IIDFactory
Create a UuID from String- Specified by:
createUuID
in interfaceIIDFactory
- 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
Description copied from interface:IIDFactory
Create a UuID from UUID- Specified by:
createUuID
in interfaceIIDFactory
- Parameters:
uuid
- the UUID to use. Must not be null.- Returns:
- valid ID instance
- Throws:
IDCreateException
- Since:
- 3.5
-
createUuID
Description copied from interface:IIDFactory
Create a UuID from URI.- Specified by:
createUuID
in interfaceIIDFactory
- 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
Description copied from interface:IIDFactory
Create a URIID from URI.- Specified by:
createURIID
in interfaceIIDFactory
- Parameters:
uri
- the URI to use for the URIID. Must not be null.- Returns:
- valid ID instance
- Throws:
IDCreateException
- Since:
- 3.5
-
createURIID
Description copied from interface:IIDFactory
Create a URIID from String.- Specified by:
createURIID
in interfaceIIDFactory
- 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
Description copied from interface:IIDFactory
Create a random UuID- Specified by:
createUuID
in interfaceIIDFactory
- Returns:
- valid ID instance from UUID.randomUUID()
- Throws:
IDCreateException
- Since:
- 3.5
-