Package org.bouncycastle.asn1

## Class DLExternal

- java.lang.Object
- - org.bouncycastle.asn1.ASN1Object
  - - org.bouncycastle.asn1.ASN1Primitive
    - - org.bouncycastle.asn1.ASN1External
      - - org.bouncycastle.asn1.DLExternal

- All Implemented Interfaces:
    `ASN1Encodable`, `Encodable`

      public class DLExternal
      extends ASN1External

  Class representing the Definite-Length-type External

- - ### Field Summary

    - ### Fields inherited from class org.bouncycastle.asn1.ASN1External

      `dataValueDescriptor, directReference, encoding, externalContent, indirectReference`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DLExternal​(ASN1EncodableVector vector)` | Construct a Definite-Length EXTERNAL object, the input encoding vector must have exactly two elements on it.
    `DLExternal​(ASN1ObjectIdentifier directReference, ASN1Integer indirectReference, ASN1Primitive dataValueDescriptor, int encoding, ASN1Primitive externalData)` | Creates a new instance of Definite-Length External.
    `DLExternal​(ASN1ObjectIdentifier directReference, ASN1Integer indirectReference, ASN1Primitive dataValueDescriptor, DERTaggedObject externalData)` | Creates a new instance of DERExternal See X.690 for more informations about the meaning of these parameters

  - ### Method Summary

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

      `getDataValueDescriptor, getDirectReference, getEncoding, getExternalContent, getIndirectReference, hashCode`

    - ### 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, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### DLExternal

          public DLExternal​(ASN1EncodableVector vector)

      Construct a Definite-Length EXTERNAL object, the input encoding vector must have exactly two elements on it.

      Acceptable input formats are:

      - `ASN1ObjectIdentifier` + data `DERTaggedObject` (direct reference form)
      - `ASN1Integer` + data `DERTaggedObject` (indirect reference form)
      - Anything but `DERTaggedObject` + data `DERTaggedObject` (data value form)
      Throws:
        `java.lang.IllegalArgumentException` - if input size is wrong, or

    - #### DLExternal

          public DLExternal​(ASN1ObjectIdentifier directReference,
                            ASN1Integer indirectReference,
                            ASN1Primitive dataValueDescriptor,
                            DERTaggedObject externalData)

      Creates a new instance of DERExternal See X.690 for more informations about the meaning of these parameters
      Parameters:
        `directReference` - The direct reference or `null` if not set.
        `indirectReference` - The indirect reference or `null` if not set.
        `dataValueDescriptor` - The data value descriptor or `null` if not set.
        `externalData` - The external data in its encoded form.

    - #### DLExternal

          public DLExternal​(ASN1ObjectIdentifier directReference,
                            ASN1Integer indirectReference,
                            ASN1Primitive dataValueDescriptor,
                            int encoding,
                            ASN1Primitive externalData)

      Creates a new instance of Definite-Length External. See X.690 for more informations about the meaning of these parameters
      Parameters:
        `directReference` - The direct reference or `null` if not set.
        `indirectReference` - The indirect reference or `null` if not set.
        `dataValueDescriptor` - The data value descriptor or `null` if not set.
        `encoding` - The encoding to be used for the external data
        `externalData` - The external data