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