1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.asn1.der;
19
20 import java.io.ByteArrayOutputStream;
21 import java.io.IOException;
22 import java.util.Enumeration;
23 import java.util.Vector;
24
25 /***
26 * A DER encoded set object
27 */
28 public class DERSet implements DEREncodable
29 {
30 protected Vector set = new Vector();
31
32 public Enumeration getObjects()
33 {
34 return set.elements();
35 }
36
37 public DEREncodable getObjectAt( int index )
38 {
39 return (DEREncodable)set.elementAt( index );
40 }
41
42 public int size()
43 {
44 return set.size();
45 }
46
47 public void add( DEREncodable obj )
48 {
49 set.addElement( obj );
50 }
51
52 public void encode( ASN1OutputStream out )
53 throws IOException
54 {
55 ByteArrayOutputStream baos = new ByteArrayOutputStream();
56 ASN1OutputStream aos = new ASN1OutputStream( baos );
57
58 Enumeration e = getObjects();
59
60 while ( e.hasMoreElements() )
61 {
62 aos.writeObject( e.nextElement() );
63 }
64
65 aos.close();
66
67 byte[] bytes = baos.toByteArray();
68
69 out.writeEncoded( DERObject.SET | DERObject.CONSTRUCTED, bytes );
70 }
71 }
72