1 33 34 package edu.rice.cs.drjava.config; 35 import java.util.Hashtable ; 36 39 public abstract class OptionParser<T> implements ParseStrategy<T> { 40 41 44 public final String name; 45 private final T defaultValue; 46 47 49 final Hashtable <DefaultOptionMap,T> map = new Hashtable <DefaultOptionMap,T>(); 50 51 54 public OptionParser(String name, T def) { this.name = name; defaultValue = def; } 55 56 59 public String getName() { return name; } 60 61 62 public T getDefault() { return defaultValue; } 63 64 65 public abstract String getDefaultString(); 66 67 72 public abstract T parse(String value); 73 74 77 78 abstract String getString(DefaultOptionMap om); 79 80 81 T setString(DefaultOptionMap om, String val) { return setOption(om,parse(val)); } 82 83 84 T getOption(DefaultOptionMap om) { return map.get(om); } 85 86 87 T setOption(DefaultOptionMap om, T val) { return map.put(om,val); } 88 89 90 T remove(DefaultOptionMap om) { return map.remove(om); } 91 } 92 93 94 95 96 97 98 99 100 101 102 103 | Popular Tags |