package quickml.data; import java.io.Serializable; import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Set; /** * Created by alexanderhawk on 8/26/14. */ public class AttributesMap implements Map<String, Serializable>, Serializable { private final Map<String, Serializable> map; public AttributesMap(Map<String, Serializable> map) { this.map = new HashMap<String, Serializable>(); this.map.putAll(map); } public AttributesMap() { this.map = new HashMap<>(); } public static AttributesMap newHashMap() { return new AttributesMap(new HashMap<String, Serializable>()); } @Override public int size() { return map.size(); } @Override public boolean isEmpty() { return map.isEmpty(); } @Override public boolean containsKey(Object key) { return map.containsKey(key); } @Override public boolean containsValue(Object value) { return map.containsValue(value); } @Override public Serializable get(Object key) { return map.get(key); } @Override public Serializable put(String key, Serializable value) { return map.put(key, value); } @Override public Serializable remove(Object key) { return map.remove(key); } @Override public void putAll(Map<? extends String, ? extends Serializable> m) { map.putAll(m); } @Override public void clear() { map.clear(); } @Override public Set<String> keySet() { return map.keySet(); } @Override public Collection<Serializable> values() { Collection<Serializable> values = map.values(); return values; } @Override public Set<Entry<String, Serializable>> entrySet() { return map.entrySet(); } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; AttributesMap that = (AttributesMap) o; if (map != null ? !map.equals(that.map) : that.map != null) return false; return true; } @Override public int hashCode() { int result = map != null ? map.hashCode() : 0; result = 31 * result; return result; } @Override public String toString() { return map.toString(); } }