Class ObjectIdentifier

  • All Implemented Interfaces:
    java.io.Serializable

    public final class ObjectIdentifier
    extends java.lang.Object
    implements java.io.Serializable
    Represent an ISO Object Identifier.

    Object Identifiers are arbitrary length hierarchical identifiers. The individual components are numbers, and they define paths from the root of an ISO-managed identifier space. You will sometimes see a string name used instead of (or in addition to) the numerical id. These are synonyms for the numerical IDs, but are not widely used since most sites do not know all the requisite strings, while all sites can parse the numeric forms.

    So for example, JavaSoft has the sole authority to assign the meaning to identifiers below the 1.3.6.1.4.42.2.17 node in the hierarchy, and other organizations can easily acquire the ability to assign such unique identifiers.

    See Also:
    Serialized Form
    • Field Detail

      • mOIDs

        public static java.util.Hashtable<java.lang.String,​ObjectIdentifier> mOIDs
        Netscape Enhancement: This function implements a object identifier factory. It should help reduces in-memory Object Identifier object. This function also provide additional checking on the OID. A valid OID should start with 0, 1, or 2. Notes: This function never returns null. IOException is raised in error conditions.
    • Constructor Detail

      • ObjectIdentifier

        public ObjectIdentifier​(java.lang.String oid)
        Constructs an object identifier from a string. This string should be of the form 1.23.34.45.56 etc.
      • ObjectIdentifier

        public ObjectIdentifier​(int[] values)
        Constructs an object ID from an array of integers. This is used to construct constant object IDs.
      • ObjectIdentifier

        public ObjectIdentifier​(java.math.BigInteger[] values)
      • ObjectIdentifier

        public ObjectIdentifier​(long[] values)
        Constructs an object ID from an array of longs This is used to construct constant object IDs.
      • ObjectIdentifier

        public ObjectIdentifier​(DerInputStream in)
                         throws java.io.IOException
        Constructs an object ID from an ASN.1 encoded input stream. The encoding of the ID in the stream uses "DER", a BER/1 subset. In this case, that means a triple { typeId, length, data }.

        NOTE: When an exception is thrown, the input stream has not been returned to its "initial" state.

        Parameters:
        in - DER-encoded data holding an object ID
        Throws:
        java.io.IOException - indicates a decoding error
    • Method Detail

      • encode

        public void encode​(DerOutputStream out)
                    throws java.io.IOException
        Throws:
        java.io.IOException
      • precedes

        public boolean precedes​(ObjectIdentifier other)
        Compares this identifier with another, for sorting purposes. An identifier does not precede itself.
        Parameters:
        other - identifer that may precede this one.
        Returns:
        true iff other precedes this one in a particular sorting order.
      • equals

        public boolean equals​(java.lang.Object other)
        Overrides:
        equals in class java.lang.Object
      • equals

        public boolean equals​(ObjectIdentifier other)
        Compares this identifier with another, for equality.
        Returns:
        true iff the names are identical.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Returns a string form of the object ID. The format is the conventional "dot" notation for such IDs, without any user-friendly descriptive strings, since those strings will not be understood everywhere.
        Overrides:
        toString in class java.lang.Object
      • getObjectIdentifier

        public static ObjectIdentifier getObjectIdentifier​(java.lang.String oid)
                                                    throws java.io.IOException
        Throws:
        java.io.IOException
      • getObjectIdentifier

        public static ObjectIdentifier getObjectIdentifier​(int[] values)
                                                    throws java.io.IOException
        Throws:
        java.io.IOException