]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.api.uuid/src/org/argeo/api/uuid/GUID.java
1 package org
.argeo
.api
.uuid
;
6 * A variant 6 {@link UUID}.
8 * @see https://datatracker.ietf.org/doc/html/rfc4122#section-4.1.1
10 public class GUID
extends TypedUuid
{
11 private static final long serialVersionUID
= APM
.SERIAL
;
13 /** Constructor based on a {@link UUID}. */
14 public GUID(UUID uuid
) {
16 if (uuid
.variant() != 6)
17 throw new IllegalArgumentException("The provided UUID is not a GUID.");
21 * Formats N, D, B, P are supported:
23 * <li>D: 1db31359-bdd8-5a0f-b672-30c247d582c5</li>
24 * <li>N: 1db31359bdd85a0fb67230c247d582c5</li>
25 * <li>B: {1db31359-bdd8-5a0f-b672-30c247d582c5}</li>
26 * <li>P: (1db31359-bdd8-5a0f-b672-30c247d582c5)</li>
29 * @see https://docs.microsoft.com/en-us/dotnet/api/system.guid.tostring
31 public static String
toString(UUID uuid
, char format
, boolean upperCase
) {
35 str
= uuid
.toString();
38 str
= UuidBinaryUtils
.toCompact(uuid
);
41 str
= "{" + uuid
.toString() + "}";
44 str
= "(" + uuid
.toString() + ")";
47 throw new IllegalArgumentException("Unsupported format : " + format
);
49 return upperCase ? str
.toUpperCase() : str
;