Class UUIDBasedOID
- java.lang.Object
-
- com.pixelmed.utils.UUIDBasedOID
-
public class UUIDBasedOID extends java.lang.Object
A class for creating and convertin UUID based OIDs.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String
oid
protected static java.lang.String
OID_PREFIX
protected static java.lang.String
OID_PREFIX_REMOVAL_REGEX
protected java.util.UUID
uuid
-
Constructor Summary
Constructors Constructor Description UUIDBasedOID()
Construct a new OID with a new random UUID.UUIDBasedOID(java.lang.String oid)
Construct an OID from an existing string representation of an OID.UUIDBasedOID(java.util.UUID nameSpace, byte[] bName)
Construct a new OID with a Type 3 UUID (that is based on an MD5 hash of the supplied byte arrayss).
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static java.lang.String
createOIDFromUUIDCanonicalHexString(java.lang.String hexString)
Create an OID from the canonical hex string form of a UUID.static byte[]
getByteArrayInNetworkByteOrderFromUUID(java.util.UUID uuid)
java.lang.String
getOID()
Get the string representation of the OID.java.util.UUID
getUUID()
Get the UUID of the OID.static void
main(java.lang.String[] args)
Convert OIDs to UUIDs and UUIDs to OIDs or create a new one.static java.math.BigInteger
makeBigIntegerFromUnsignedLong(long unsignedLongValue)
Convert an unsigned value in a long to a BigInteger.static java.util.UUID
parseUUIDFromDecimalString(java.lang.String decimalString)
Extract the UUID from its single integer value decimal string representation.static java.util.UUID
parseUUIDFromOID(java.lang.String oid)
Extract the UUID from a UUID-based OID.
-
-
-
Field Detail
-
OID_PREFIX
protected static final java.lang.String OID_PREFIX
- See Also:
- Constant Field Values
-
OID_PREFIX_REMOVAL_REGEX
protected static final java.lang.String OID_PREFIX_REMOVAL_REGEX
- See Also:
- Constant Field Values
-
uuid
protected java.util.UUID uuid
-
oid
protected java.lang.String oid
-
-
Constructor Detail
-
UUIDBasedOID
public UUIDBasedOID(java.util.UUID nameSpace, byte[] bName)
Construct a new OID with a Type 3 UUID (that is based on an MD5 hash of the supplied byte arrayss).
Given the same bytes as input, the same OID will be returned every time.
The name space represents the entity, an instance of which is being uniquely identified.
The name bytes might, for example, be a UTF-8 encoding of a String that contains a bunch of attribute values separated by some delimiter like a "|"
- Parameters:
nameSpace
- a non-null UUID defining the name spacebName
- a non-null non-zero length array of bytes containing the "name" (any values)
-
UUIDBasedOID
public UUIDBasedOID()
Construct a new OID with a new random UUID.
-
UUIDBasedOID
public UUIDBasedOID(java.lang.String oid) throws java.lang.IllegalArgumentException, java.lang.NumberFormatException
Construct an OID from an existing string representation of an OID.
- Parameters:
oid
- a String of dotted numeric values in OID form {joint-iso-itu-t uuid(25) <uuid-single-integer-value>}- Throws:
java.lang.IllegalArgumentException
java.lang.NumberFormatException
-
-
Method Detail
-
getByteArrayInNetworkByteOrderFromUUID
public static byte[] getByteArrayInNetworkByteOrderFromUUID(java.util.UUID uuid)
-
getOID
public java.lang.String getOID()
Get the string representation of the OID.
- Returns:
- the string representation of the OID
-
getUUID
public java.util.UUID getUUID()
Get the UUID of the OID.
- Returns:
- the UUID
-
parseUUIDFromOID
public static java.util.UUID parseUUIDFromOID(java.lang.String oid) throws java.lang.IllegalArgumentException, java.lang.NumberFormatException
Extract the UUID from a UUID-based OID.
- Parameters:
oid
- a String of dotted numeric values in OID form {joint-iso-itu-t uuid(25) <uuid-single-integer-value>}- Returns:
- the UUID
- Throws:
java.lang.IllegalArgumentException
- if the OID is not in the {joint-iso-itu-t uuid(25)} arcjava.lang.NumberFormatException
- if the OID does not contain a uuid-single-integer-value
-
parseUUIDFromDecimalString
public static java.util.UUID parseUUIDFromDecimalString(java.lang.String decimalString) throws java.lang.NumberFormatException
Extract the UUID from its single integer value decimal string representation.
- Parameters:
decimalString
- single integer value decimal string representation- Returns:
- the UUID
- Throws:
java.lang.NumberFormatException
- if the OID does not contain a uuid-single-integer-value
-
makeBigIntegerFromUnsignedLong
public static java.math.BigInteger makeBigIntegerFromUnsignedLong(long unsignedLongValue)
Convert an unsigned value in a long to a BigInteger.
- Parameters:
unsignedLongValue
- an unsigned long value (i.e., the sign bit is treated as part of the value rather than a sign)- Returns:
- the BigInteger
-
createOIDFromUUIDCanonicalHexString
public static java.lang.String createOIDFromUUIDCanonicalHexString(java.lang.String hexString) throws java.lang.IllegalArgumentException
Create an OID from the canonical hex string form of a UUID.
- Parameters:
hexString
- canonical hex string form of a UUID- Returns:
- the OID
- Throws:
java.lang.IllegalArgumentException
- if name does not conform to the string representation
-
main
public static void main(java.lang.String[] args)
Convert OIDs to UUIDs and UUIDs to OIDs or create a new one.
- Parameters:
args
- a list of OIDs or UUIDs or empty if a new OID is to be created
-
-