Package org.bouncycastle.asn1

## Class ASN1ObjectIdentifier

- java.lang.Object
- - org.bouncycastle.asn1.ASN1Object
  - - org.bouncycastle.asn1.ASN1Primitive
    - - org.bouncycastle.asn1.ASN1ObjectIdentifier

- All Implemented Interfaces:
    `ASN1Encodable`, `Encodable`
  Direct Known Subclasses:
    `DERObjectIdentifier`, `PolicyQualifierId`

      public class ASN1ObjectIdentifier
      extends ASN1Primitive

  Class representing the ASN.1 OBJECT IDENTIFIER type.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ASN1ObjectIdentifier​(java.lang.String identifier)` | Create an OID based on the passed in String.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `ASN1ObjectIdentifier` | `branch​(java.lang.String branchID)` | Return an OID that creates a branch under the current one.
    `java.lang.String` | `getId()` | Return the OID as a string.
    `static ASN1ObjectIdentifier` | `getInstance​(java.lang.Object obj)` | Return an OID from the passed in object
    `static ASN1ObjectIdentifier` | `getInstance​(ASN1TaggedObject obj, boolean explicit)` | Return an OBJECT IDENTIFIER from a tagged object.
    `int` | `hashCode()` |
    `ASN1ObjectIdentifier` | `intern()` | Intern will return a reference to a pooled version of this object, unless it is not present in which case intern will add it.
    `boolean` | `on​(ASN1ObjectIdentifier stem)` | Return true if this oid is an extension of the passed in branch - stem.
    `java.lang.String` | `toString()` |

    - ### Methods inherited from class org.bouncycastle.asn1.ASN1Primitive

      `encodeTo, encodeTo, equals, equals, equals, fromByteArray, toASN1Primitive`

    - ### Methods inherited from class org.bouncycastle.asn1.ASN1Object

      `getEncoded, getEncoded, hasEncodedTagValue`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### ASN1ObjectIdentifier

          public ASN1ObjectIdentifier​(java.lang.String identifier)

      Create an OID based on the passed in String.
      Parameters:
        `identifier` - a string representation of an OID.

  - ### Method Detail

    - #### getInstance

          public static ASN1ObjectIdentifier getInstance​(java.lang.Object obj)

      Return an OID from the passed in object
      Parameters:
        `obj` - an ASN1ObjectIdentifier or an object that can be converted into one.
      Returns:
        an ASN1ObjectIdentifier instance, or null.
      Throws:
        `java.lang.IllegalArgumentException` - if the object cannot be converted.

    - #### getInstance

          public static ASN1ObjectIdentifier getInstance​(ASN1TaggedObject obj,
                                                         boolean explicit)

      Return an OBJECT IDENTIFIER from a tagged object.
      Parameters:
        `obj` - the tagged object holding the object we want
        `explicit` - true if the object is meant to be explicitly tagged false otherwise.
      Returns:
        an ASN1ObjectIdentifier instance, or null.
      Throws:
        `java.lang.IllegalArgumentException` - if the tagged object cannot be converted.

    - #### getId

          public java.lang.String getId()

      Return the OID as a string.
      Returns:
        the string representation of the OID carried by this object.

    - #### branch

          public ASN1ObjectIdentifier branch​(java.lang.String branchID)

      Return an OID that creates a branch under the current one.
      Parameters:
        `branchID` - node numbers for the new branch.
      Returns:
        the OID for the new created branch.

    - #### on

          public boolean on​(ASN1ObjectIdentifier stem)

      Return true if this oid is an extension of the passed in branch - stem.
      Parameters:
        `stem` - the arc or branch that is a possible parent.
      Returns:
        true if the branch is on the passed in stem, false otherwise.

    - #### hashCode

          public int hashCode()

      Specified by:
        `hashCode` in class `ASN1Primitive`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### intern

          public ASN1ObjectIdentifier intern()

      Intern will return a reference to a pooled version of this object, unless it is not present in which case intern will add it.

      The pool is also used by the ASN.1 parsers to limit the number of duplicated OID objects in circulation.

      Returns:
        a reference to the identifier in the pool.