001package org.apache.commons.ssl.org.bouncycastle.asn1;
002
003import java.io.ByteArrayOutputStream;
004import java.io.IOException;
005import java.io.OutputStream;
006
007public class DERSequenceGenerator
008    extends DERGenerator
009{
010    private final ByteArrayOutputStream _bOut = new ByteArrayOutputStream();
011
012    public DERSequenceGenerator(
013        OutputStream out)
014        throws IOException
015    {
016        super(out);
017    }
018
019    public DERSequenceGenerator(
020        OutputStream out,
021        int          tagNo,
022        boolean      isExplicit)
023        throws IOException
024    {
025        super(out, tagNo, isExplicit);
026    }
027
028    public void addObject(
029        ASN1Encodable object)
030        throws IOException
031    {
032        object.toASN1Primitive().encode(new DEROutputStream(_bOut));
033    }
034    
035    public OutputStream getRawOutputStream()
036    {
037        return _bOut;
038    }
039    
040    public void close() 
041        throws IOException
042    {
043        writeDEREncoded(BERTags.CONSTRUCTED | BERTags.SEQUENCE, _bOut.toByteArray());
044    }
045}