org.apache.commons.ssl.asn1

## Class DERApplicationSpecific

- java.lang.Object
- - org.apache.commons.ssl.asn1.ASN1Encodable
  - - org.apache.commons.ssl.asn1.DERObject
    - - org.apache.commons.ssl.asn1.ASN1Object
      - - org.apache.commons.ssl.asn1.DERApplicationSpecific

All Implemented Interfaces:
  DEREncodable, DERTags

    public class DERApplicationSpecific
    extends ASN1Object

Base class for an application specific object

### Field Summary

Fields
`private byte[]` `octets`
`private int` `tag`

### Fields inherited from class org.apache.commons.ssl.asn1.ASN1Encodable

`BER, DER`

### Fields inherited from interface org.apache.commons.ssl.asn1.DERTags

`APPLICATION, BIT_STRING, BMP_STRING, BOOLEAN, CONSTRUCTED, ENUMERATED, EXTERNAL, GENERAL_STRING, GENERALIZED_TIME, GRAPHIC_STRING, IA5_STRING, INTEGER, NULL, NUMERIC_STRING, OBJECT_IDENTIFIER, OCTET_STRING, PRINTABLE_STRING, SEQUENCE, SEQUENCE_OF, SET, SET_OF, T61_STRING, TAGGED, UNIVERSAL_STRING, UTC_TIME, UTF8_STRING, VIDEOTEX_STRING, VISIBLE_STRING`

### Constructor Summary

Constructors
Constructor and Description
`DERApplicationSpecific(boolean explicit, int tag, DEREncodable object)`
`DERApplicationSpecific(int tag, byte[] octets)`
`DERApplicationSpecific(int tag, DEREncodable object)`

### Method Summary

Methods
`(package private) boolean` `asn1Equals(DERObject o)`
`(package private) void` `encode(DEROutputStream out)`
`int` `getApplicationTag()`
`byte[]` `getContents()`
`private int` `getLengthOfLength(byte[] data)`
`DERObject` `getObject()`
`DERObject` `getObject(int derTagNo)` Return the enclosed object assuming implicit tagging.
`int` `hashCode()`
`boolean` `isConstructed()`

### Methods inherited from class org.apache.commons.ssl.asn1.ASN1Object

`equals, fromByteArray`

### Methods inherited from class org.apache.commons.ssl.asn1.DERObject

`toASN1Object`

### Methods inherited from class org.apache.commons.ssl.asn1.ASN1Encodable

`getDEREncoded, getDERObject, getEncoded, getEncoded`

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

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

### Field Detail

#### tag

    private int tag

#### octets

    private byte[] octets

### Constructor Detail

#### DERApplicationSpecific

    public DERApplicationSpecific(int tag,
                          byte[] octets)

#### DERApplicationSpecific

    public DERApplicationSpecific(int tag,
                          DEREncodable object)
                           throws java.io.IOException

Throws:
  `java.io.IOException`

#### DERApplicationSpecific

    public DERApplicationSpecific(boolean explicit,
                          int tag,
                          DEREncodable object)
                           throws java.io.IOException

Throws:
  `java.io.IOException`

### Method Detail

#### getLengthOfLength

    private int getLengthOfLength(byte[] data)

#### isConstructed

    public boolean isConstructed()

#### getContents

    public byte[] getContents()

#### getApplicationTag

    public int getApplicationTag()

#### getObject

    public DERObject getObject()
                        throws java.io.IOException

Throws:
  `java.io.IOException`

#### getObject

    public DERObject getObject(int derTagNo)
                        throws java.io.IOException

Return the enclosed object assuming implicit tagging.

Parameters:
  `derTagNo` - the type tag that should be applied to the object's contents.
Returns:
  the resulting object
Throws:
  `java.io.IOException` - if reconstruction fails.

#### encode

    void encode(DEROutputStream out)
          throws java.io.IOException

Specified by:
  `encode` in class `ASN1Object`
Throws:
  `java.io.IOException`

#### asn1Equals

    boolean asn1Equals(DERObject o)

Specified by:
  `asn1Equals` in class `ASN1Object`

#### hashCode

    public int hashCode()

Specified by:
  `hashCode` in class `ASN1Object`