DERSequenceParser.java revision e6bf3e8dfa2804891a82075cb469b736321b4827
15460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liaopackage org.bouncycastle.asn1;
25460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao
35460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liaoimport java.io.IOException;
45460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao
55460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liaopublic class DERSequenceParser
65460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao    implements ASN1SequenceParser
75460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao{
85460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao    private ASN1StreamParser _parser;
95460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao
105460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao    DERSequenceParser(ASN1StreamParser parser)
115460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao    {
12f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines        this._parser = parser;
135460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao    }
145460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao
155460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao    public ASN1Encodable readObject()
165460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao        throws IOException
175460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao    {
185460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao        return _parser.readObject();
195460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao    }
205460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao
215460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao    public ASN1Primitive getLoadedObject()
225460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao        throws IOException
235460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao    {
24f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines         return new DERSequence(_parser.readVector());
255460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao    }
265460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao
275460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao    public ASN1Primitive toASN1Primitive()
285460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao    {
295460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao        try
305460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao        {
315460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao            return getLoadedObject();
325460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao        }
335460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao        catch (IOException e)
345460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao        {
355460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao            throw new IllegalStateException(e.getMessage());
365460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao        }
375460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao    }
385460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao}
395460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao