Package de.uplanet.util
Class Guid
- java.lang.Object
-
- de.uplanet.util.Guid
-
@Scriptable public final class Guid extends Object
This class represents global universal IDs.Instances of this class are immutable.
This class uses the SHAPRNG for secure random numbers and the SHA-1 algorithm for hashing to
20bytes.
-
-
Field Summary
Fields Modifier and Type Field Description static StringNULLA GUID string representation that contains only zeroes.static GuidNULL_GUIDThe GUID that consists solely of zero bytes.static StringSHA1PRNGThe algorithm used for generating GUIDs.static intSTRING_LENGTHThe length of a GUID represented as a string.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static StringcheckValid(String p_str)Check if the given string is notnulland represents a GUID, and throw anIllegalArgumentExceptionif this is not the case.static StringcheckValidOrNull(String p_str)Check if the given string isnullor represents a GUID, and throw anIllegalArgumentExceptionif this is not the case.static GuidcreateInstance()Creates an instance of GUID using the SHAPRNG algorithm and the current system time.static GuidcreateInstance(byte[]... p_randomBytes)Creates an instance of GUID using given random bytes.booleanequals(Object p_obj)byte[]getBytes()Get the GUIDs20bytes.inthashCode()static booleanisStringRepresentation(String p_str)Tests if the given string is a GUID representation.static voidseed()Initialize the random number generator.StringtoString()Convert the GUID to a string.
-
-
-
Field Detail
-
NULL
public static final String NULL
A GUID string representation that contains only zeroes.- See Also:
- Constant Field Values
-
NULL_GUID
public static final Guid NULL_GUID
The GUID that consists solely of zero bytes.
-
SHA1PRNG
public static final String SHA1PRNG
The algorithm used for generating GUIDs.- See Also:
- Constant Field Values
-
STRING_LENGTH
public static final int STRING_LENGTH
The length of a GUID represented as a string.- See Also:
- Constant Field Values
-
-
Method Detail
-
seed
public static void seed()
Initialize the random number generator.This method should be called at most once per Java VM instance.
-
createInstance
public static Guid createInstance()
Creates an instance of GUID using the SHAPRNG algorithm and the current system time.- Returns:
- An initialized instance of Guid.
-
createInstance
public static Guid createInstance(byte[]... p_randomBytes)
Creates an instance of GUID using given random bytes.- Parameters:
p_randomBytes- Random bytes that are used to create the GUID.- Returns:
- An initialized instance of Guid.
-
getBytes
public byte[] getBytes()
Get the GUIDs20bytes.- Returns:
- A copy of this GUIDs bytes.
-
isStringRepresentation
public static boolean isStringRepresentation(String p_str)
Tests if the given string is a GUID representation.- Parameters:
p_str- The string to test (may benull).- Returns:
trueif the string is representing a GUID, orfalseotherwise.
-
checkValidOrNull
public static String checkValidOrNull(String p_str)
Check if the given string isnullor represents a GUID, and throw anIllegalArgumentExceptionif this is not the case.For security reasons possible error messages will contain at most an eight character prefix of the input string.
- Parameters:
p_str- The string to check.- Returns:
- The given string.
- Throws:
IllegalArgumentException- If the given string is notnulland does not represent a valid GUID.
-
checkValid
public static String checkValid(String p_str)
Check if the given string is notnulland represents a GUID, and throw anIllegalArgumentExceptionif this is not the case.For security reasons possible error messages will contain at most an eight character prefix of the input string.
- Parameters:
p_str- The string to check.- Returns:
- The given string.
- Throws:
IllegalArgumentException- If the given string isnullor does not represent a valid GUID.
-
toString
public String toString()
Convert the GUID to a string.
-
-