package org.bouncycastle.asn1;
import java.io.InputStream;
import java.io.IOException;
public class ASN1ObjectParser
{
private int _baseTag;
private int _tagNumber;
private ASN1StreamParser _aIn;
protected ASN1ObjectParser(
int baseTag,
int tagNumber,
InputStream contentStream)
{
_baseTag = baseTag;
_tagNumber = tagNumber;
_aIn = new ASN1StreamParser(contentStream);
}
/**
* Return the tag number for this object.
*
* @return the tag number.
*/
int getTagNumber()
{
return _tagNumber;
}
int getBaseTag()
{
return _baseTag;
}
DEREncodable readObject()
throws IOException
{
return _aIn.readObject();
}
ASN1EncodableVector readVector()
throws IllegalStateException
{
ASN1EncodableVector v = new ASN1EncodableVector();
DEREncodable obj;
try
{
while ((obj = readObject()) != null)
{
v.add(obj.getDERObject());
}
}
catch (IOException e)
{
throw new IllegalStateException(e.getMessage());
}
return v;
}
}