tons of stuff
[org.ibex.classgen.git] / src / org / ibex / classgen / AttrGen.java
1 package org.ibex.classgen;
2
3 import java.io.*;
4 import java.util.*;
5
6 public class AttrGen {
7     private final CPGen cp;
8     private final Hashtable ht = new Hashtable();
9     
10     public AttrGen(CPGen cp) {
11         this.cp = cp;
12     }
13     
14     public void add(String s, byte[] data) {
15         cp.addUtf8(s);
16         ht.put(s,data);
17     }
18     
19     public boolean contains(String s) { return ht.get(s) != null; }
20     
21     public int size() { return ht.size(); }
22     
23     public void dump(DataOutput o) throws IOException {
24         for(Enumeration e = ht.keys(); e.hasMoreElements();) {
25             String name = (String) e.nextElement();
26             byte[] val = (byte[]) ht.get(name);
27             o.writeShort(cp.getUtf8Index(name));
28             o.writeInt(val.length);
29             o.write(val);
30         }
31     }
32 }