Package org.eclipse.ecf.core.identity
Class GUID
- java.lang.Object
-
- org.eclipse.ecf.core.identity.BaseID
-
- org.eclipse.ecf.core.identity.StringID
-
- org.eclipse.ecf.core.identity.GUID
-
- All Implemented Interfaces:
Serializable
,Comparable
,Principal
,org.eclipse.core.runtime.IAdaptable
,ID
public class GUID extends StringID
Globally unique ID implementation class. UsesSecureRandom
to create a unique number of given byte length. Default byte length for secure number is 20 bytes. Default algorithm used for creating a SecureRandom instance is SHA1PRNG.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
GUID.GUIDNamespace
-
Nested classes/interfaces inherited from class org.eclipse.ecf.core.identity.StringID
StringID.StringIDNamespace
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_BYTE_LENGTH
protected static SecureRandom
random
static String
SR_DEFAULT_ALGO
static String
SR_DEFAULT_PROVIDER
-
Constructor Summary
Constructors Modifier Constructor Description GUID()
protected
GUID(Namespace n)
protected
GUID(Namespace n, int byteLength)
protected
GUID(Namespace n, String value)
protected
GUID(Namespace n, String algo, String provider, int byteLength)
Protected constructor for factory-based construction
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static SecureRandom
getRandom(String algo, String provider)
Get SecureRandom instance for creation of random number.protected static void
initializeRandom(String algo, String provider)
String
toString()
-
Methods inherited from class org.eclipse.ecf.core.identity.StringID
compareTo, equals, getName, getNamespace, hashCode, namespaceCompareTo, namespaceEquals, namespaceGetName, namespaceHashCode, setEmptyNamespace, toExternalForm
-
Methods inherited from class org.eclipse.ecf.core.identity.BaseID
getAdapter, namespaceToExternalForm
-
-
-
-
Field Detail
-
SR_DEFAULT_ALGO
public static final String SR_DEFAULT_ALGO
-
SR_DEFAULT_PROVIDER
public static final String SR_DEFAULT_PROVIDER
-
DEFAULT_BYTE_LENGTH
public static final int DEFAULT_BYTE_LENGTH
- See Also:
- Constant Field Values
-
random
protected static transient SecureRandom random
-
-
Constructor Detail
-
GUID
public GUID()
- Since:
- 3.9
-
GUID
protected GUID(Namespace n, String algo, String provider, int byteLength) throws IDCreateException
Protected constructor for factory-based construction- Parameters:
n
- the Namespace this identity will belong toprovider
- the name of the algorithm to use. SeeSecureRandom
byteLength
- the length of the target number (in bytes)- Throws:
IDCreateException
-
GUID
protected GUID(Namespace n, int byteLength) throws IDCreateException
- Throws:
IDCreateException
-
GUID
protected GUID(Namespace n) throws IDCreateException
- Throws:
IDCreateException
-
-
Method Detail
-
getRandom
protected static SecureRandom getRandom(String algo, String provider) throws Exception
Get SecureRandom instance for creation of random number.- Parameters:
algo
- the String algorithm specification (e.g. "SHA1PRNG") for creation of the SecureRandom instanceprovider
- the provider of the implementation of the given algorighm (e.g. "SUN")- Returns:
- SecureRandom
- Throws:
Exception
- thrown if SecureRandom instance cannot be created/accessed
-
initializeRandom
protected static void initializeRandom(String algo, String provider) throws Exception
- Throws:
Exception
-
-