Class UUIDBasedOID

    • 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).
    • Field Detail

      • 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 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​(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)} arc
        java.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