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
20
bytes.
-
-
Field Summary
Fields Modifier and Type Field Description static String
NULL
A GUID string representation that contains only zeroes.static Guid
NULL_GUID
The GUID that consists solely of zero bytes.static String
SHA1PRNG
The algorithm used for generating GUIDs.static int
STRING_LENGTH
The length of a GUID represented as a string.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static String
checkValid(String p_str)
Check if the given string is notnull
and represents a GUID, and throw anIllegalArgumentException
if this is not the case.static String
checkValidOrNull(String p_str)
Check if the given string isnull
or represents a GUID, and throw anIllegalArgumentException
if this is not the case.static Guid
createInstance()
Creates an instance of GUID using the SHAPRNG algorithm and the current system time.static Guid
createInstance(byte[]... p_randomBytes)
Creates an instance of GUID using given random bytes.boolean
equals(Object p_obj)
byte[]
getBytes()
Get the GUIDs20
bytes.int
hashCode()
static boolean
isStringRepresentation(String p_str)
Tests if the given string is a GUID representation.static void
seed()
Initialize the random number generator.String
toString()
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 GUIDs20
bytes.- 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:
true
if the string is representing a GUID, orfalse
otherwise.
-
checkValidOrNull
public static String checkValidOrNull(String p_str)
Check if the given string isnull
or represents a GUID, and throw anIllegalArgumentException
if 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 notnull
and does not represent a valid GUID.
-
checkValid
public static String checkValid(String p_str)
Check if the given string is notnull
and represents a GUID, and throw anIllegalArgumentException
if 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 isnull
or does not represent a valid GUID.
-
toString
public String toString()
Convert the GUID to a string.
-
-