package aQute.libg.map; import java.util.Dictionary; import java.util.Enumeration; import java.util.Hashtable; import java.util.LinkedHashMap; import java.util.Map; /** * Easy way to build a map: Map<String,Integer> s = MAP.$("a",2).$("b",3); */ public class MAP { static public class MAPX<K, V> extends LinkedHashMap<K,V> { private static final long serialVersionUID = 1L; public MAPX<K,V> $(K key, V value) { put(key, value); return this; } public MAPX<K,V> $(Map<K,V> all) { putAll(all); return this; } public Hashtable<K,V> asHashtable() { return new Hashtable<K,V>(this); } } public static <Kx, Vx> MAPX<Kx,Vx> $(Kx key, Vx value) { MAPX<Kx,Vx> map = new MAPX<Kx,Vx>(); map.put(key, value); return map; } public <K, V> Map<K,V> dictionary(Dictionary<K,V> dict) { Map<K,V> map = new LinkedHashMap<K,V>(); for (Enumeration<K> e = dict.keys(); e.hasMoreElements();) { K k = e.nextElement(); V v = dict.get(k); map.put(k, v); } return map; } }