- java.lang.Object
-
- com.github.f4b6a3.uuid.factory.UuidFactory
-
- com.github.f4b6a3.uuid.factory.AbstRandomBasedFactory
-
- Direct Known Subclasses:
AbstCombFactory,RandomBasedFactory
public abstract class AbstRandomBasedFactory extends UuidFactory
Abstract factory for creating random-based unique identifiers (UUIDv4).- See Also:
RandomFunction
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classAbstRandomBasedFactory.Builder<T,B extends AbstRandomBasedFactory.Builder<T,B>>Abstract builder for creating a random-based factory.protected static classAbstRandomBasedFactory.FastRandomA long random generator.protected static interfaceAbstRandomBasedFactory.IRandomInterface for random generator.protected static classAbstRandomBasedFactory.SafeRandomA byte random generator.-
Nested classes/interfaces inherited from class com.github.f4b6a3.uuid.factory.UuidFactory
UuidFactory.Parameters
-
-
Field Summary
Fields Modifier and Type Field Description protected ReentrantLocklockThe reentrant lock for synchronization.protected AbstRandomBasedFactory.IRandomrandomThe random generator.protected static intUUID_BYTESThe number of bytes of a UUID.-
Fields inherited from class com.github.f4b6a3.uuid.factory.UuidFactory
version, versionMask
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstRandomBasedFactory(UuidVersion version, AbstRandomBasedFactory.Builder<?,?> builder)Constructor with a version number and a builder
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description UUIDcreate(UuidFactory.Parameters parameters)Creates a UUID using parameters.-
Methods inherited from class com.github.f4b6a3.uuid.factory.UuidFactory
create, getVersion, nameBytes, nameBytes, namespaceBytes, namespaceBytes, namespaceBytes, toUuid
-
-
-
-
Field Detail
-
random
protected final AbstRandomBasedFactory.IRandom random
The random generator.
-
UUID_BYTES
protected static final int UUID_BYTES
The number of bytes of a UUID.- See Also:
- Constant Field Values
-
lock
protected final ReentrantLock lock
The reentrant lock for synchronization.
-
-
Constructor Detail
-
AbstRandomBasedFactory
protected AbstRandomBasedFactory(UuidVersion version, AbstRandomBasedFactory.Builder<?,?> builder)
Constructor with a version number and a builder- Parameters:
version- a version numberbuilder- a builder
-
-
Method Detail
-
create
public UUID create(UuidFactory.Parameters parameters)
Description copied from class:UuidFactoryCreates a UUID using parameters.- Specified by:
createin classUuidFactory- Parameters:
parameters- parameters object- Returns:
- a UUID
-
-