- java.lang.Object
-
- com.github.f4b6a3.uuid.factory.UuidFactory
-
- Direct Known Subclasses:
AbstNameBasedFactory,AbstRandomBasedFactory,AbstTimeBasedFactory
public abstract class UuidFactory extends Object
Abstract factory that is base for all UUID factories.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classUuidFactory.ParametersParameters object to be used with acreate(Parameters).
-
Field Summary
Fields Modifier and Type Field Description protected UuidVersionversionVersion number.protected longversionMaskVersion bit mask.
-
Constructor Summary
Constructors Constructor Description UuidFactory()Default Constructor.UuidFactory(UuidVersion version)Constructor with a version number.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract UUIDcreate()Create a UUIDabstract UUIDcreate(UuidFactory.Parameters parameters)Creates a UUID using parameters.UuidVersiongetVersion()Returns the version number for this factory.protected static byte[]nameBytes(byte[] name)Returns a copy of the input byte array.protected static byte[]nameBytes(String name)Converts a name string into a byte array.protected static byte[]namespaceBytes(UuidNamespace namespace)Converts a name space enumeration into a byte array.protected static byte[]namespaceBytes(String namespace)Converts a name space string into a byte array.protected static byte[]namespaceBytes(UUID namespace)Converts a name space UUID into a byte array.protected UUIDtoUuid(long msb, long lsb)Creates a UUID from a pair of numbers.
-
-
-
Field Detail
-
version
protected final UuidVersion version
Version number.
-
versionMask
protected final long versionMask
Version bit mask.
-
-
Constructor Detail
-
UuidFactory
public UuidFactory()
Default Constructor.The version used is
UuidVersion.VERSION_UNKNOWN.
-
UuidFactory
public UuidFactory(UuidVersion version)
Constructor with a version number.- Parameters:
version- a version number
-
-
Method Detail
-
getVersion
public UuidVersion getVersion()
Returns the version number for this factory.- Returns:
- the version number
-
create
public abstract UUID create()
Create a UUID- Returns:
- a UUID
-
create
public abstract UUID create(UuidFactory.Parameters parameters)
Creates a UUID using parameters.- Parameters:
parameters- parameters object- Returns:
- a UUID
-
nameBytes
protected static byte[] nameBytes(byte[] name)
Returns a copy of the input byte array.- Parameters:
name- a name string- Returns:
- a byte array
- Throws:
IllegalArgumentException- if the input is null
-
nameBytes
protected static byte[] nameBytes(String name)
Converts a name string into a byte array.- Parameters:
name- a name string- Returns:
- a byte array
- Throws:
IllegalArgumentException- if the input is null
-
namespaceBytes
protected static byte[] namespaceBytes(UuidNamespace namespace)
Converts a name space enumeration into a byte array.- Parameters:
namespace- a name space enumeration- Returns:
- a byte array
-
namespaceBytes
protected static byte[] namespaceBytes(UUID namespace)
Converts a name space UUID into a byte array.- Parameters:
namespace- a name space UUID- Returns:
- a byte array
-
namespaceBytes
protected static byte[] namespaceBytes(String namespace)
Converts a name space string into a byte array.- Parameters:
namespace- a name space string- Returns:
- a byte array
- Throws:
InvalidUuidException- if the name space is invalid
-
toUuid
protected UUID toUuid(long msb, long lsb)
Creates a UUID from a pair of numbers.It applies the version and variant numbers to the resulting UUID.
- Parameters:
msb- the most significant bitslsb- the least significant bits- Returns:
- a UUID
-
-