org.bouncycastle.asn1

Class ASN1Sequence

Implemented Interfaces:
DEREncodable, DERTags
Known Direct Subclasses:
DERConstructedSequence, DERSequence

public abstract class ASN1Sequence
extends ASN1Object

Field Summary

Fields inherited from class org.bouncycastle.asn1.ASN1Encodable

BER, DER

Fields inherited from interface org.bouncycastle.asn1.DERTags

APPLICATION, BIT_STRING, BMP_STRING, BOOLEAN, CONSTRUCTED, ENUMERATED, EXTERNAL, GENERALIZED_TIME, GENERAL_STRING, 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

Method Summary

protected void
addObject(DEREncodable obj)
static ASN1Sequence
getInstance(Object obj)
return an ASN1Sequence from the given object.
static ASN1Sequence
getInstance(ASN1TaggedObject obj, boolean explicit)
Return an ASN1 sequence from a tagged object.
DEREncodable
getObjectAt(int index)
return the object at the sequence position 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.bouncycastle.asn1.ASN1Object

equals, fromByteArray, hashCode

Methods inherited from class org.bouncycastle.asn1.DERObject

equals, hashCode, toASN1Object

Methods inherited from class org.bouncycastle.asn1.ASN1Encodable

equals, getDEREncoded, getDERObject, getEncoded, getEncoded, hashCode, toASN1Object

Method Details

addObject

protected void addObject(DEREncodable obj)

getInstance

public static ASN1Sequence getInstance(Object obj)
return an ASN1Sequence from the given object.
Parameters:
obj - the object we want 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 implicitly 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.

getObjectAt

public DEREncodable getObjectAt(int index)
return the object at the sequence position indicated by index.
Parameters:
index - the sequence number (starting at zero) of the object
Returns:
the object at the sequence position indicated by index.

getObjects

public Enumeration getObjects()

hashCode

public int hashCode()
Overrides:
hashCode in interface ASN1Object

parser

public ASN1SequenceParser parser()

size

public int size()
return the number of objects in this sequence.
Returns:
the number of objects in this sequence.

toString

public String toString()