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. UsesSecureRandomto 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 classGUID.GUIDNamespace-
Nested classes/interfaces inherited from class org.eclipse.ecf.core.identity.StringID
StringID.StringIDNamespace
-
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_BYTE_LENGTHprotected static SecureRandomrandomstatic StringSR_DEFAULT_ALGOstatic StringSR_DEFAULT_PROVIDER
-
Constructor Summary
Constructors Modifier Constructor Description GUID()protectedGUID(Namespace n)protectedGUID(Namespace n, int byteLength)protectedGUID(Namespace n, String value)protectedGUID(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 SecureRandomgetRandom(String algo, String provider)Get SecureRandom instance for creation of random number.protected static voidinitializeRandom(String algo, String provider)StringtoString()-
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. SeeSecureRandombyteLength- 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
-
-