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.rfc4122.RandomBasedFactory
-
- All Implemented Interfaces:
NoArgsFactory
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.ByteRandom, AbstRandomBasedFactory.IRandom, AbstRandomBasedFactory.LongRandom
-
-
Field Summary
-
Fields inherited from class com.github.f4b6a3.uuid.factory.AbstRandomBasedFactory
random, UUID_BYTES
-
Fields inherited from class com.github.f4b6a3.uuid.factory.UuidFactory
version, versionMask
-
-
Constructor Summary
Constructors Constructor Description RandomBasedFactory()RandomBasedFactory(IntFunction<byte[]> randomFunction)RandomBasedFactory(LongSupplier randomSupplier)RandomBasedFactory(Random random)
-
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-4122 - 4.4.-
Methods inherited from class com.github.f4b6a3.uuid.factory.UuidFactory
getVersion, toUuid
-
-
-
-
Constructor Detail
-
RandomBasedFactory
public RandomBasedFactory()
-
RandomBasedFactory
public RandomBasedFactory(Random random)
-
RandomBasedFactory
public RandomBasedFactory(LongSupplier randomSupplier)
-
RandomBasedFactory
public RandomBasedFactory(IntFunction<byte[]> randomFunction)
-
-
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-4122 - 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.- Returns:
- a random-based UUID
-
-