No-operation UUID factory, providing only default Java random UUIDs.
[lgpl/argeo-commons.git] / org.argeo.api.uuid / src / org / argeo / api / uuid / UuidFactory.java
index 91191dae2bf1fd17a4138048685a8e8d62515ad5..dc83f48ec10ea62fbb5ea4c08578a27ae6276d43 100644 (file)
@@ -17,6 +17,17 @@ import java.util.function.Supplier;
  * @see https://datatracker.ietf.org/doc/html/rfc4122
  */
 public interface UuidFactory extends Supplier<UUID> {
+       /*
+        * DEFAULT
+        */
+       /**
+        * The default {@link UUID} to provide, either random (v4) or time based (v1).
+        * It SHOULD wrap either {@link #timeUUID()} (recommended) or
+        * {@link #randomUUID()}.
+        */
+       @Override
+       UUID get();
+
        /*
         * TIME-BASED (version 1)
         */
@@ -120,16 +131,6 @@ public interface UuidFactory extends Supplier<UUID> {
                return randomUUIDStrong();
        }
 
-       /**
-        * The default {@link UUID} to provide, either random (v4) or time based (v1).
-        * This default implementations returns {@link #timeUUID()} because it is
-        * supposed to be fast and use few resources.
-        */
-       @Override
-       default UUID get() {
-               return timeUUID();
-       }
-
        /*
         * STANDARD UUIDs
         */