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