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
`protected static IIDFactory` `instance`
`static String` `SECURITY_PROPERTY`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`Namespace` `addNamespace​(Namespace namespace)` Add the given Namespace to our table of available Namespaces
`static Namespace` `addNamespace0​(Namespace namespace)`
`protected static void` `checkPermission​(NamespacePermission namespacepermission)`
`boolean` `containsNamespace​(Namespace namespace)` Check whether table contains given Namespace instance
`static 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 long
`ID` `createStringID​(String idstring)` Make a an ID from a String
`ID` `createURIID​(String uri)` Create a URIID from String.
`ID` `createURIID​(URI uri)` Create a URIID from URI.
`ID` `createUuID()` Create a random UuID
`ID` `createUuID​(String uuid)` Create a UuID from String
`ID` `createUuID​(URI uuidURI)` Create a UuID from URI.
`ID` `createUuID​(UUID uuid)` Create a UuID from UUID
`static IIDFactory` `getDefault()`
`Namespace` `getNamespace​(Namespace namespace)` Get the given Namespace instance from table
`protected 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 Namespaces
`static Namespace` `removeNamespace0​(Namespace n)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### 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 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<Namespace> 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