1 33 34 package edu.rice.cs.drjava.config; 35 import java.util.Vector ; 36 import java.util.Iterator ; 37 38 public class DefaultOptionMap implements OptionMap { 39 40 private final Vector <OptionParser<?>> keys = new Vector <OptionParser<?>>(); 41 42 public <T> T getOption(OptionParser<T> o) { return o.getOption(this); } 43 44 public <T> T setOption(Option<T> o, T val) { 45 setOption(o); 46 return o.setOption(this,val); 47 } 48 49 private <T> void setOption(OptionParser<T> o) { if (keys.indexOf(o) == -1) keys.add(o); } 50 51 public <T> String getString(OptionParser<T> o) { return o.getString(this); } 52 53 public <T> void setString(OptionParser<T> o, String s) { 54 setOption(o); 55 o.setString(this,s); 56 } 57 58 public <T> T removeOption(OptionParser<T> o) { 59 keys.remove(o); 60 return o.remove(this); 61 } 62 63 public Iterator <OptionParser<?>> keys() { return keys.iterator(); } 64 65 public String toString() { 66 final StringBuilder result = new StringBuilder ("\n{ "); 67 68 for (OptionParser<?> key: keys) { 69 result.append(key.name).append(" = ").append(getString(key)).append('\n'); 70 } 71 72 result.append('}'); 73 return result.toString(); 74 } 75 } 76 | Popular Tags |