Class UUIDBasedOID

java.lang.Object
com.pixelmed.utils.UUIDBasedOID

public class UUIDBasedOID extends Object
  • Field Details

  • Constructor Details

    • UUIDBasedOID

      public UUIDBasedOID(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 space
      bName - 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(String oid) throws IllegalArgumentException, 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:
      IllegalArgumentException
      NumberFormatException
  • Method Details

    • getByteArrayInNetworkByteOrderFromUUID

      public static byte[] getByteArrayInNetworkByteOrderFromUUID(UUID uuid)
    • getOID

      public String getOID()

      Get the string representation of the OID.

      Returns:
      the string representation of the OID
    • getUUID

      public UUID getUUID()

      Get the UUID of the OID.

      Returns:
      the UUID
    • parseUUIDFromOID

      public static UUID parseUUIDFromOID(String oid) throws IllegalArgumentException, 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:
      IllegalArgumentException - if the OID is not in the {joint-iso-itu-t uuid(25)} arc
      NumberFormatException - if the OID does not contain a uuid-single-integer-value
    • parseUUIDFromDecimalString

      public static UUID parseUUIDFromDecimalString(String decimalString) throws NumberFormatException

      Extract the UUID from its single integer value decimal string representation.

      Parameters:
      decimalString - single integer value decimal string representation
      Returns:
      the UUID
      Throws:
      NumberFormatException - if the OID does not contain a uuid-single-integer-value
    • makeBigIntegerFromUnsignedLong

      public static 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 String createOIDFromUUIDCanonicalHexString(String hexString) throws 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:
      IllegalArgumentException - if name does not conform to the string representation
    • main

      public static void main(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