Package org.eclipse.ecf.core.identity
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 Summary
Fields Modifier and Type Field Description protected static IIDFactory
instance
static String
SECURITY_PROPERTY
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Namespace
addNamespace(Namespace namespace)
Add the given Namespace to our table of available Namespacesstatic Namespace
addNamespace0(Namespace namespace)
protected static void
checkPermission(NamespacePermission namespacepermission)
boolean
containsNamespace(Namespace namespace)
Check whether table contains given Namespace instancestatic boolean
containsNamespace0(Namespace n)
ID
createGUID()
Make a GUID using SHA-1 hash algorithm and a default of 16bits of data length.ID
createGUID(int length)
Make a GUID using SHA-1 hash algorithm and a default of 16bits of data length.ID
createID(String namespaceName, Object[] args)
Make a new identity.ID
createID(String namespace, String uri)
Make a new identity instance from a namespaceName and idValue.ID
createID(Namespace n, Object[] args)
Make a new identity.ID
createID(Namespace namespace, String uri)
Make a new identity instance from a namespace and String.ID
createLongID(long l)
Make a an ID from a longID
createStringID(String idstring)
Make a an ID from a StringID
createURIID(String uri)
Create a URIID from String.ID
createURIID(URI uri)
Create a URIID from URI.ID
createUuID()
Create a random UuIDID
createUuID(String uuid)
Create a UuID from StringID
createUuID(URI uuidURI)
Create a UuID from URI.ID
createUuID(UUID uuid)
Create a UuID from UUIDstatic IIDFactory
getDefault()
Namespace
getNamespace(Namespace namespace)
Get the given Namespace instance from tableprotected static Namespace
getNamespace0(String name)
protected static Namespace
getNamespace0(Namespace n)
Namespace
getNamespaceByName(String name)
Get a Namespace instance by its string name.List<Namespace>
getNamespaces()
Get a list of the current Namespace instances exposed by this factory.protected static void
logAndThrow(String s, Throwable t)
Namespace
removeNamespace(Namespace n)
Remove the given Namespace from our table of available Namespacesstatic Namespace
removeNamespace0(Namespace n)
-
-
-
Field Detail
-
SECURITY_PROPERTY
public static final String SECURITY_PROPERTY
-
instance
protected static IIDFactory instance
-
-
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 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
-
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 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
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 interfaceIIDFactory
- 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 interfaceIIDFactory
- 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 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
-
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 interfaceIIDFactory
- 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 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
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 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
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 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
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 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
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 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
public ID createStringID(String idstring) throws IDCreateException
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
public ID createLongID(long l) throws IDCreateException
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
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 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
-
createUuID
public ID createUuID(String uuid) throws IDCreateException
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
public ID createUuID(UUID uuid) throws IDCreateException
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
public ID createUuID(URI uuidURI) throws IDCreateException
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
public ID createURIID(URI uri) throws IDCreateException
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
public ID createURIID(String uri) throws IDCreateException
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
public ID createUuID() throws IDCreateException
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
-
-