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 }