org.apache.commons.ssl.asn1

## Class ASN1Sequence

- 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.ASN1Sequence

All Implemented Interfaces:
  DEREncodable, DERTags

Direct Known Subclasses:
  DERConstructedSequence, DERSequence

    public abstract class ASN1Sequence
    extends ASN1Object

### Field Summary

Fields
`private java.util.Vector` `seq`

### 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
`ASN1Sequence()`

### Method Summary

Methods
`protected void` `addObject(DEREncodable obj)`
`(package private) boolean` `asn1Equals(DERObject o)`
`(package private) abstract void` `encode(DEROutputStream out)`
`static ASN1Sequence` `getInstance(ASN1TaggedObject obj, boolean explicit)` Return an ASN1 sequence from a tagged object.
`static ASN1Sequence` `getInstance(java.lang.Object obj)` return an ASN1Sequence from the given object.
`DEREncodable` `getObjectAt(int index)` return the object at the sequence postion indicated by index.
`java.util.Enumeration` `getObjects()`
`int` `hashCode()`
`ASN1SequenceParser` `parser()`
`int` `size()` return the number of objects in this sequence.
`java.lang.String` `toString()`

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

### Field Detail

#### seq

    private java.util.Vector seq

### Constructor Detail

#### ASN1Sequence

    public ASN1Sequence()

### Method Detail

#### getInstance

    public static ASN1Sequence getInstance(java.lang.Object obj)

return an ASN1Sequence from the given object.

Parameters:
  `obj` - the object we want converted.
Throws:
  `java.lang.IllegalArgumentException` - if the object cannot be converted.

#### getInstance

    public static ASN1Sequence getInstance(ASN1TaggedObject obj,
                           boolean explicit)

Return an ASN1 sequence from a tagged object. There is a special case here, if an object appears to have been explicitly tagged on reading but we were expecting it to be implictly tagged in the normal course of events it indicates that we lost the surrounding sequence - so we need to add it back (this will happen if the tagged object is a sequence that contains other sequences). If you are dealing with implicitly tagged sequences you really should be using this method.

Parameters:
  `obj` - the tagged object.
  `explicit` - true if the object is meant to be explicitly tagged, false otherwise.
Throws:
  `java.lang.IllegalArgumentException` - if the tagged object cannot be converted.

#### getObjects

    public java.util.Enumeration getObjects()

#### parser

    public ASN1SequenceParser parser()

#### getObjectAt

    public DEREncodable getObjectAt(int index)

return the object at the sequence postion indicated by index.

Parameters:
  `index` - the sequence number (starting at zero) of the object
Returns:
  the object at the sequence postion indicated by index.

#### size

    public int size()

return the number of objects in this sequence.

Returns:
  the number of objects in this sequence.

#### hashCode

    public int hashCode()

Specified by:
  `hashCode` in class `ASN1Object`

#### asn1Equals

    boolean asn1Equals(DERObject o)

Specified by:
  `asn1Equals` in class `ASN1Object`

#### addObject

    protected void addObject(DEREncodable obj)

#### encode

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

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

#### toString

    public java.lang.String toString()

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