- java.lang.Object
-
- com.github.f4b6a3.uuid.factory.UuidFactory
-
- com.github.f4b6a3.uuid.factory.AbstNameBasedFactory
-
- Direct Known Subclasses:
NameBasedMd5Factory,NameBasedSha1Factory
public abstract class AbstNameBasedFactory extends UuidFactory
Abstract factory for creating name-based unique identifiers (UUIDv3 and UUIDv5).
-
-
Field Summary
Fields Modifier and Type Field Description protected Stringalgorithmprotected static StringALGORITHM_MD5protected static StringALGORITHM_SHA1protected byte[]namespace-
Fields inherited from class com.github.f4b6a3.uuid.factory.UuidFactory
version, versionMask
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstNameBasedFactory(UuidVersion version, String algorithm, byte[] namespace)Protected constructor that receives the message digest algorithm and an optional name space.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static byte[]bytes(UuidNamespace namespace)Converts a name space enumeration into a byte array.protected static byte[]bytes(String namespace)Converts a name space string into a byte array.protected static byte[]bytes(UUID namespace)Converts a name space UUID into a byte array.UUIDcreate(byte[] name)Returns a name-based UUID.UUIDcreate(UuidNamespace namespace, byte[] name)Returns a name-based UUID.UUIDcreate(UuidNamespace namespace, String name)Returns a name-based UUID.UUIDcreate(UuidNamespace namespace, UUID name)Returns a name-based UUID.UUIDcreate(String name)Returns a name-based UUID.UUIDcreate(String namespace, byte[] name)Returns a name-based UUID.UUIDcreate(String namespace, String name)Returns a name-based UUID.UUIDcreate(String namespace, UUID name)Returns a name-based UUID.UUIDcreate(UUID name)Returns a name-based UUID.UUIDcreate(UUID namespace, byte[] name)Returns a name-based UUID.UUIDcreate(UUID namespace, String name)Returns a name-based UUID.UUIDcreate(UUID namespace, UUID name)Returns a name-based UUID.-
Methods inherited from class com.github.f4b6a3.uuid.factory.UuidFactory
getVersion, toUuid
-
-
-
-
Field Detail
-
namespace
protected byte[] namespace
-
algorithm
protected final String algorithm
-
ALGORITHM_MD5
protected static final String ALGORITHM_MD5
- See Also:
- Constant Field Values
-
ALGORITHM_SHA1
protected static final String ALGORITHM_SHA1
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
AbstNameBasedFactory
protected AbstNameBasedFactory(UuidVersion version, String algorithm, byte[] namespace)
Protected constructor that receives the message digest algorithm and an optional name space.- Parameters:
version- the version number (3 or 5)algorithm- a message digest algorithm (MD5 or SHA-1)namespace- a name space byte array (null or 16 bytes)
-
-
Method Detail
-
create
public UUID create(byte[] name)
Returns a name-based UUID.- Parameters:
name- a byte array- Returns:
- a name-based UUID
-
create
public UUID create(String name)
Returns a name-based UUID. The name string is encoded into a sequence of bytes using UTF-8.- Parameters:
name- a string- Returns:
- a name-based UUID
-
create
public UUID create(UUID name)
Returns a name-based UUID.- Parameters:
name- a UUID- Returns:
- a name-based UUID
-
create
public UUID create(UUID namespace, byte[] name)
Returns a name-based UUID.- Parameters:
namespace- a name space UUIDname- a byte array- Returns:
- a name-based UUID
-
create
public UUID create(UUID namespace, String name)
Returns a name-based UUID. The name string is encoded into a sequence of bytes using UTF-8.- Parameters:
namespace- a name space UUIDname- a string- Returns:
- a name-based UUID
-
create
public UUID create(UUID namespace, UUID name)
Returns a name-based UUID.- Parameters:
namespace- a name space UUIDname- a UUID- Returns:
- a name-based UUID
-
create
public UUID create(String namespace, byte[] name)
Returns a name-based UUID.- Parameters:
namespace- a name space stringname- a byte array- Returns:
- a name-based UUID
- Throws:
InvalidUuidException- if the name space is invalid- See Also:
InvalidUuidException
-
create
public UUID create(String namespace, String name)
Returns a name-based UUID.The name string is encoded into a sequence of bytes using UTF-8.
- Parameters:
namespace- a name space stringname- a string- Returns:
- a name-based UUID
- Throws:
InvalidUuidException- if the name space is invalid- See Also:
InvalidUuidException
-
create
public UUID create(String namespace, UUID name)
Returns a name-based UUID.- Parameters:
namespace- a name space stringname- a UUID- Returns:
- a name-based UUID
- Throws:
InvalidUuidException- if the name space is invalid- See Also:
InvalidUuidException
-
create
public UUID create(UuidNamespace namespace, byte[] name)
Returns a name-based UUID.- Parameters:
namespace- a name space enumerationname- a byte array- Returns:
- a name-based UUID
- See Also:
UuidNamespace
-
create
public UUID create(UuidNamespace namespace, String name)
Returns a name-based UUID.The name string is encoded into a sequence of bytes using UTF-8.
- Parameters:
namespace- a name space enumerationname- a string- Returns:
- a name-based UUID
- See Also:
UuidNamespace
-
create
public UUID create(UuidNamespace namespace, UUID name)
Returns a name-based UUID.- Parameters:
namespace- a name space enumerationname- a UUID- Returns:
- a name-based UUID
- See Also:
UuidNamespace
-
bytes
protected static byte[] bytes(UuidNamespace namespace)
Converts a name space enumeration into a byte array.- Parameters:
namespace- a name space enumeration- Returns:
- a byte array
-
bytes
protected static byte[] bytes(UUID namespace)
Converts a name space UUID into a byte array.- Parameters:
namespace- a name space UUID- Returns:
- a byte array
-
bytes
protected static byte[] bytes(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- See Also:
InvalidUuidException
-
-