Module com.github.f4b6a3.uuid
Class RandomBasedFactory
- java.lang.Object
-
- com.github.f4b6a3.uuid.factory.UuidFactory
-
- com.github.f4b6a3.uuid.factory.AbstRandomBasedFactory
-
- com.github.f4b6a3.uuid.factory.standard.RandomBasedFactory
-
public final class RandomBasedFactory extends AbstRandomBasedFactory
Concrete factory for creating random-based unique identifiers (UUIDv4).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classRandomBasedFactory.BuilderConcrete builder for creating a random-based factory.-
Nested classes/interfaces inherited from class com.github.f4b6a3.uuid.factory.AbstRandomBasedFactory
AbstRandomBasedFactory.FastRandom, AbstRandomBasedFactory.IRandom, AbstRandomBasedFactory.SafeRandom
-
Nested classes/interfaces inherited from class com.github.f4b6a3.uuid.factory.UuidFactory
UuidFactory.Parameters
-
-
Field Summary
-
Fields inherited from class com.github.f4b6a3.uuid.factory.AbstRandomBasedFactory
lock, random, UUID_BYTES
-
Fields inherited from class com.github.f4b6a3.uuid.factory.UuidFactory
version, versionMask
-
-
Constructor Summary
Constructors Constructor Description RandomBasedFactory()Default constructor.RandomBasedFactory(LongSupplier randomSupplier)Constructor with a function which returns random number.RandomBasedFactory(Random random)Constructor with aRandominstance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static RandomBasedFactory.Builderbuilder()Returns a builder of random-based factory.UUIDcreate()Returns a random-based UUID. ### RFC 9562 - 4.4.-
Methods inherited from class com.github.f4b6a3.uuid.factory.AbstRandomBasedFactory
create
-
Methods inherited from class com.github.f4b6a3.uuid.factory.UuidFactory
getVersion, nameBytes, nameBytes, namespaceBytes, namespaceBytes, namespaceBytes, toUuid
-
-
-
-
Constructor Detail
-
RandomBasedFactory
public RandomBasedFactory()
Default constructor.
-
RandomBasedFactory
public RandomBasedFactory(Random random)
Constructor with aRandominstance.- Parameters:
random- aRandominstance
-
RandomBasedFactory
public RandomBasedFactory(LongSupplier randomSupplier)
Constructor with a function which returns random number.- Parameters:
randomSupplier- a function
-
-
Method Detail
-
builder
public static RandomBasedFactory.Builder builder()
Returns a builder of random-based factory.- Returns:
- a builder
-
create
public UUID create()
Returns a random-based UUID. ### RFC 9562 - 4.4. Algorithms for Creating a UUID from Truly Random or Pseudo-Random Numbers (1) Set the two most significant bits (bits 6 and 7) of the clock_seq_hi_and_reserved to zero and one, respectively. (2) Set the four most significant bits (bits 12 through 15) of the time_hi_and_version field to the 4-bit version number from Section 4.1.3. (3) Set all the other bits to randomly (or pseudo-randomly) chosen values.- Specified by:
createin classUuidFactory- Returns:
- a random-based UUID
-
-