public class TypeMap<K,V> extends HashMap<K,V> { public <T> T get(K key,Class<T> c){ return (T) get(key); } public Long getLong(K key){ return get(key,Long.class); } public String getString(K key){ return get(key,String.class); } public Integer getInteger(K key){ return get(key,Integer.class); } public Boolean getBooleam(K key){ return get(key,Boolean.class); }
}
class MapHandler { protected Map map; public MapHandler(){ this.map=new HashMap(); } public MapHandler putAll(Map inputMap){ this.map.putAll(inputMap); return this; } public static MapHandler of(Map inputMap){ return new MapHandler().putAll(inputMap); } public MapHandler put(Object k,Object v){ if(this.map==null){ map=new TypeMap<>(); } map.put(k,v); return this; } public <T> T get(Object key,Class<T> clazz){ return (T) this.map.get(key); } public Long getLong(Object key){ return get(key,Long.class); } public String getString(Object key){ return get(key,String.class); } public Integer getInteger(Object key){ return get(key,Integer.class); } public Boolean getBooleam(Object key){ return get(key,Boolean.class); } }