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
Fields -
Method Summary
Modifier and TypeMethodDescriptionaddNamespace(Namespace namespace) Add the given Namespace to our table of available Namespacesstatic final NamespaceaddNamespace0(Namespace namespace) protected static final voidcheckPermission(NamespacePermission namespacepermission) booleancontainsNamespace(Namespace namespace) Check whether table contains given Namespace instancestatic final booleanMake 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 IIDFactorygetNamespace(Namespace namespace) Get the given Namespace instance from tableprotected static final NamespacegetNamespace0(String name) protected static final NamespacegetNamespaceByName(String name) Get a Namespace instance by its string name.Get a list of the current Namespace instances exposed by this factory.protected static voidlogAndThrow(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:IIDFactoryAdd the given Namespace to our table of available Namespaces- Specified by:
addNamespacein 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:IIDFactoryCheck whether table contains given Namespace instance- Specified by:
containsNamespacein 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:IIDFactoryGet a list of the current Namespace instances exposed by this factory.- Specified by:
getNamespacesin interfaceIIDFactory- Returns:
- List
of Namespace instances
-
containsNamespace0
-
getNamespace
Description copied from interface:IIDFactoryGet the given Namespace instance from table- Specified by:
getNamespacein 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:IIDFactoryGet a Namespace instance by its string name.- Specified by:
getNamespaceByNamein 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:IIDFactoryMake 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:
createGUIDin interfaceIIDFactory- Returns:
- new ID instance
- Throws:
IDCreateException- if ID cannot be constructed
-
createGUID
Description copied from interface:IIDFactoryMake 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:
createGUIDin 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:IIDFactoryMake 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:
createIDin 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:IIDFactoryMake 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:
createIDin 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:IIDFactoryMake a new identity instance from a namespace and String.- Specified by:
createIDin 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:IIDFactoryMake 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:
createIDin 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:IIDFactoryMake a an ID from a String- Specified by:
createStringIDin 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:IIDFactoryMake a an ID from a long- Specified by:
createLongIDin 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:IIDFactoryRemove the given Namespace from our table of available Namespaces- Specified by:
removeNamespacein 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:IIDFactoryCreate a UuID from String- Specified by:
createUuIDin 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:IIDFactoryCreate a UuID from UUID- Specified by:
createUuIDin 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:IIDFactoryCreate a UuID from URI.- Specified by:
createUuIDin 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:IIDFactoryCreate a URIID from URI.- Specified by:
createURIIDin 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:IIDFactoryCreate a URIID from String.- Specified by:
createURIIDin 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:IIDFactoryCreate a random UuID- Specified by:
createUuIDin interfaceIIDFactory- Returns:
- valid ID instance from UUID.randomUUID()
- Throws:
IDCreateException- Since:
- 3.5
-