package database.table.internals; import java.util.TreeMap; import java.util.TreeSet; /** * Author: Koushik Sen (ksen@cs.berkeley.edu) * Date: 8/12/12 * Time: 10:52 AM */ public class Row extends TreeMap<String, Object> { @Override public boolean equals(Object o) { if (!(o instanceof TreeMap)) { return false; } TreeMap<String, Object> other = (TreeMap<String, Object>) o; TreeSet<String> tmp = new TreeSet<String>(keySet()); tmp.addAll(other.keySet()); for (String key : tmp) { Object value1 = get(key); Object value2 = other.get(key); if (value1 == null && value2 != null) return false; if (value2 == null && value1 != null) return false; if (value1 != value2 && !value1.equals(value2)) return false; } return true; } }