001package org.apache.commons.ssl.asn1;
002
003import java.io.IOException;
004import java.util.Enumeration;
005
006public class BERSequence
007    extends DERSequence {
008    /** create an empty sequence */
009    public BERSequence() {
010    }
011
012    /** create a sequence containing one object */
013    public BERSequence(
014        DEREncodable obj) {
015        super(obj);
016    }
017
018    /** create a sequence containing a vector of objects. */
019    public BERSequence(
020        DEREncodableVector v) {
021        super(v);
022    }
023
024    /*
025     */
026    void encode(
027        DEROutputStream out)
028        throws IOException {
029        if (out instanceof ASN1OutputStream || out instanceof BEROutputStream) {
030            out.write(SEQUENCE | CONSTRUCTED);
031            out.write(0x80);
032
033            Enumeration e = getObjects();
034            while (e.hasMoreElements()) {
035                out.writeObject(e.nextElement());
036            }
037
038            out.write(0x00);
039            out.write(0x00);
040        } else {
041            super.encode(out);
042        }
043    }
044}