org.apache.commons.ssl.asn1
Class ASN1Sequence

java.lang.Object
  extended byorg.apache.commons.ssl.asn1.ASN1Encodable
      extended byorg.apache.commons.ssl.asn1.DERObject
          extended byorg.apache.commons.ssl.asn1.ASN1Object
              extended byorg.apache.commons.ssl.asn1.ASN1Sequence
All Implemented Interfaces:
DEREncodable, DERTags
Direct Known Subclasses:
DERConstructedSequence, DERSequence

public abstract class ASN1Sequence
extends ASN1Object


Field Summary
private  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
ASN1Sequence()
           
 
Method Summary
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(Object obj)
          return an ASN1Sequence from the given object.
 DEREncodable getObjectAt(int index)
          return the object at the sequence postion indicated by index.
 Enumeration getObjects()
           
 int hashCode()
           
 ASN1SequenceParser parser()
           
 int size()
          return the number of objects in this sequence.
 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 Vector seq
Constructor Detail

ASN1Sequence

public ASN1Sequence()
Method Detail

getInstance

public static ASN1Sequence getInstance(Object obj)
return an ASN1Sequence from the given object.

Parameters:
obj - the object we want converted.
Throws:
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:
IllegalArgumentException - if the tagged object cannot be converted.

getObjects

public 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 IOException
Specified by:
encode in class ASN1Object
Throws:
IOException

toString

public String toString()