1 package jfun.yan.xml; 2 3 import java.util.ArrayList ; 4 import java.util.HashMap ; 5 6 final class Attributes { 7 private final ArrayList names; 8 private final ArrayList vals; 9 private final HashMap pairs; 10 public Attributes(){ 11 this.names = new ArrayList (); 12 this.vals = new ArrayList (); 13 this.pairs = new HashMap (); 14 } 15 public Attributes(int sz){ 16 this.names = new ArrayList (sz); 17 this.vals = new ArrayList (sz); 18 this.pairs = new HashMap (sz); 19 } 20 public void add(String key, String val){ 21 if(key.length()==0) return; 22 if(pairs.containsKey(key)){ 23 throw new IllegalArgumentException ("duplicate key: "+key); 24 } 25 names.add(key); 26 vals.add(val); 27 pairs.put(key, val); 28 } 29 public int size(){ 30 return names.size(); 31 } 32 public String getKey(int i){ 33 return (String )names.get(i); 34 } 35 public String getVal(int i){ 36 return (String )vals.get(i); 37 } 38 public String getVal(String key){ 39 return (String )pairs.get(key); 40 } 41 public String toString(){ 42 return pairs.toString(); 43 } 44 } 45 | Popular Tags |