package org.ei.drishti.util; import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; import java.util.HashMap; import java.util.Map; public class SafeMap { private Map<String, String> data; public SafeMap() { this(new HashMap<String, String>()); } public SafeMap(Map<String, String> data) { this.data = data; } public SafeMap putAll(SafeMap formFieldsMap) { for (String key : formFieldsMap.data.keySet()) { put(key, formFieldsMap.get(key)); } return this; } public String get(String key) { if (!data.containsKey(key)) { throw new RuntimeException("Key: " + key + " does not exist in: " + this); } return data.get(key); } public SafeMap put(String key, String value) { data.put(key, value); return this; } public boolean isEmpty() { return data.isEmpty(); } public boolean has(String key) { return data.containsKey(key); } @Override public String toString() { return ToStringBuilder.reflectionToString(this); } @Override public boolean equals(Object obj) { return EqualsBuilder.reflectionEquals(this, obj); } @Override public int hashCode() { return HashCodeBuilder.reflectionHashCode(this); } }