public class UuidUtil extends Object
| Modifier and Type | Class and Description |
|---|---|
static class |
UuidUtil.UuidUtilException |
| Modifier and Type | Field and Description |
|---|---|
static String |
UUID_PATTERN_LOOSE |
static String |
UUID_PATTERN_STRICT |
| Modifier and Type | Method and Description |
|---|---|
static int |
extractClockSequence(UUID uuid)
Get the clock sequence from a time-based UUID.
|
static Instant |
extractDceSecurityInstant(UUID uuid)
Get the instant from a DCE Security UUID.
|
static byte |
extractDceSecurityLocalDomain(UUID uuid)
Get the local domain number from a DCE Security UUID.
|
static int |
extractDceSecurityLocalIdentifier(UUID uuid)
Get the local identifier number from a DCE Security UUID.
|
static long |
extractDceSecurityTimestamp(UUID uuid)
Get the timestamp from a DCE Security UUID.
|
static Instant |
extractInstant(UUID uuid)
Get the instant from a time-based UUID.
|
static long |
extractNodeIdentifier(UUID uuid)
Get the node identifier from a time-based UUID.
|
static long |
extractTimestamp(UUID uuid)
Get the timestamp from a time-based UUID.
|
static long |
extractUnixMilliseconds(UUID uuid)
Get the Unix epoch milliseconds from a time-based UUID.
|
static long |
formatMssqlMostSignificantBits(long timestamp)
Format most significant bits for MSSQL Server.
### References
* How to Generate Sequential GUIDs for SQL Server in .NET
https://blogs.msdn.microsoft.com/dbrowne/2012/07/03/how-to-generate-sequential-guids-for-sql-server-in-net/
* UUID Binary encoding
https://en.wikipedia.org/wiki/Universally_unique_identifier#Encoding
* Newsequentialid (Histrory/Benefits and Implementation)
https://blogs.msdn.microsoft.com/sqlprogrammability/2006/03/23/newsequentialid-histrorybenefits-and-implementation/
* NEWSEQUENTIALID (Transact-SQL)
https://docs.microsoft.com/en-us/sql/t-sql/functions/newsequentialid-transact-sql?
|
static long |
formatRfc4122LeastSignificantBits(long nodeIdentifier,
long clockSequence)
Returns the least significant bits of the UUID.
### RFC-4122 - 4.2.2.
|
static long |
formatSequentialMostSignificantBits(long timestamp)
Returns the timestamp bits of the UUID in the 'natural' order of bytes.
|
static long |
formatTimeBasedMostSignificantBits(long timestamp)
Returns the timestamp bits of the UUID in the order defined in the
RFC-4122.
### RFC-4122 - 4.2.2.
|
static UUID |
fromBytesToUuid(byte[] bytes)
Get a UUID from an array of bytes;
|
static UUID |
fromMssqlGuidToUuid(UUID uuid)
Convert a MSSQL Server 'friendly' GUID to a UUID.
|
static UUID |
fromSequentialUuidToTimeBasedUuid(UUID uuid)
Convert a sequential UUID to a time-based UUID.
|
static UUID |
fromTimeBasedUuidToSequentialUuid(UUID uuid)
Convert a time-based UUID to a sequential UUID.
|
static byte[] |
fromUuidToBytes(UUID uuid)
Get the array of bytes from a UUID.
|
static UUID |
fromUuidToMssqlGuid(UUID uuid)
Convert a UUID to a MSSQL Server 'friendly' GUID.
|
UuidVersion |
getVersion(UUID uuid)
Get the UUID version.
|
static boolean |
isDceSecurityVersion(UUID uuid)
Checks whether the UUID version 2.
|
static boolean |
isNameBasedVersion(UUID uuid)
Checks whether the UUID version 3 or 5.
|
static boolean |
isNil(UUID uuid)
Checks whether the UUID is equal to the Nil UUID.
|
static boolean |
isRandomBasedVersion(UUID uuid)
Checks whether the UUID version 4.
|
static boolean |
isRfc4122(UUID uuid)
Checks if the UUID variant and version are those defined by the RFC-4122.
|
static boolean |
isRfc4122Variant(UUID uuid)
Checks whether the UUID variant is the one defined by the RFC-4122.
|
static boolean |
isSequentialVersion(UUID uuid)
Checks whether the UUID version 0.
|
static boolean |
isTimeBasedVersion(UUID uuid)
Checks whether the UUID version 1.
|
protected static boolean |
isValid(String uuid)
Checks if the UUID string is valid.
|
static boolean |
isValid(String uuid,
boolean strict)
Checks if the UUID string is valid.
|
public static final String UUID_PATTERN_STRICT
public static final String UUID_PATTERN_LOOSE
public UuidVersion getVersion(UUID uuid)
uuid - a UUIDUuidVersionpublic static boolean isNil(UUID uuid)
uuid - a UUIDpublic static boolean isRfc4122(UUID uuid)
uuid - a UUIDprotected static boolean isValid(String uuid)
isValid(String, boolean)uuid - a UUID stringpublic static boolean isValid(String uuid, boolean strict)
Strict validation: accepts only the RFC-4122 format:
12345678-abcd-1bcd-abcd-123456789abcd (36 hexadecimal chars, case insensitive, with dash and RFC-4122 version and variant)
Loose validation: accepts UUID strings similar to this examples:
12345678abcdabcdabcd123456789abcd (32 hexadecimal chars, lower case and without dash)
12345678ABCDABCDABCD123456789ABCD (32 hexadecimal chars, UPPER CASE and without dash)
12345678-abcd-abcd-abcd-123456789abcd (36 hexadecimal chars, lower case and with dash)
12345678-ABCD-ABCD-ABCD-123456789ABCD (36 hexadecimal chars, UPPER CASE and with dash)
{12345678-abcd-abcd-abcd-123456789abcd} (38 hexadecimal chars, lower case, with dash and curly braces)
{12345678-ABCD-ABCD-ABCD-123456789ABCD} (38 hexadecimal chars, UPPER CASE, with dash and curly braces)
uuid - a UUID stringstrict - true for strict validation, false for loose validationpublic static boolean isRfc4122Variant(UUID uuid)
uuid - a UUIDpublic static boolean isRandomBasedVersion(UUID uuid)
uuid - a UUIDpublic static boolean isNameBasedVersion(UUID uuid)
uuid - a UUIDpublic static boolean isTimeBasedVersion(UUID uuid)
uuid - a UUIDpublic static boolean isSequentialVersion(UUID uuid)
uuid - a UUIDpublic static boolean isDceSecurityVersion(UUID uuid)
uuid - a UUIDpublic static long extractNodeIdentifier(UUID uuid)
uuid - a UUIDpublic static int extractClockSequence(UUID uuid)
uuid - a UUIDpublic static Instant extractInstant(UUID uuid)
uuid - a UUIDInstantpublic static long extractUnixMilliseconds(UUID uuid)
uuid - a UUIDpublic static long extractTimestamp(UUID uuid)
uuid - a UUIDpublic static byte extractDceSecurityLocalDomain(UUID uuid)
uuid - a UUIDpublic static int extractDceSecurityLocalIdentifier(UUID uuid)
uuid - a UUIDpublic static long extractDceSecurityTimestamp(UUID uuid)
uuid - a UUIDpublic static Instant extractDceSecurityInstant(UUID uuid)
uuid - a UUIDInstantpublic static byte[] fromUuidToBytes(UUID uuid)
uuid - a UUIDpublic static UUID fromBytesToUuid(byte[] bytes)
bytes - an array of bytespublic static UUID fromSequentialUuidToTimeBasedUuid(UUID uuid)
uuid - a UUIDpublic static UUID fromTimeBasedUuidToSequentialUuid(UUID uuid)
uuid - a UUIDpublic static UUID fromUuidToMssqlGuid(UUID uuid)
formatMssqlMostSignificantBits(long)uuid - a UUIDpublic static UUID fromMssqlGuidToUuid(UUID uuid)
formatMssqlMostSignificantBits(long)uuid - a UUIDpublic static long formatSequentialMostSignificantBits(long timestamp)
timestamp - a timestamppublic static long formatTimeBasedMostSignificantBits(long timestamp)
timestamp - a timestamppublic static long formatMssqlMostSignificantBits(long timestamp)
timestamp - a timestamppublic static long formatRfc4122LeastSignificantBits(long nodeIdentifier,
long clockSequence)
nodeIdentifier - a node identifierclockSequence - a clock sequenceCopyright © 2020. All rights reserved.