package yuku.bintex;
import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
public class ValueMap implements Map<String, Object> {
LinkedHashMap<String, Object> map;
public ValueMap() {
map = new LinkedHashMap<>();
}
@Override public void clear() {
map.clear();
}
@Override public boolean containsKey(Object key) {
return map.containsKey(key);
}
@Override public boolean containsValue(Object value) {
return map.containsValue(value);
}
@Override public Set<Entry<String, Object>> entrySet() {
return map.entrySet();
}
@Override public Object get(Object key) {
return map.get(key);
}
@Override public boolean isEmpty() {
return map.isEmpty();
}
@Override public Set<String> keySet() {
return map.keySet();
}
@Override public Object put(String key, Object value) {
return map.put(key, value);
}
@Override public void putAll(Map<? extends String, ? extends Object> arg0) {
map.putAll(arg0);
}
@Override public Object remove(Object key) {
return map.remove(key);
}
@Override public int size() {
return map.size();
}
@Override public Collection<Object> values() {
return map.values();
}
public int getInt(String key) {
return getInt(key, 0);
}
public int getInt(String key, int def) {
Object v = map.get(key);
if (v instanceof Number) return ((Number) v).intValue();
if (v == null) return 0;
if (v instanceof String) {
try {
return Integer.parseInt((String) v);
} catch (NumberFormatException e) {
return def;
}
}
return def;
}
public String getString(String key) {
Object v = map.get(key);
if (v == null) return null;
if (v instanceof String) return (String) v;
return v.toString();
}
public int[] getIntArray(String key) {
Object v = map.get(key);
if (v instanceof int[]) return (int[]) v;
return null;
}
public ValueMap getSimpleMap(String key) {
Object v = map.get(key);
if (v instanceof ValueMap) return (ValueMap) v;
return null;
}
}