package data; /* Created for when words are sorted by multiple keys, i.e. not just lemmas but lemmas and msd simultaneously. */ final class MultipleHMKeys { private final String key1, key2, key3; public MultipleHMKeys(String key1) { this.key1 = key1; this.key2 = null; this.key3 = null; } public MultipleHMKeys(String key1, String key2) { this.key1 = key1; this.key2 = key2; this.key3 = null; } public MultipleHMKeys(String key1, String key2, String key3) { this.key1 = key1; this.key2 = key2; this.key3 = key3; } public String getKey1() { return key1; } public String getKey2() { return key2; } public String getKey3() { return key3; } @Override public int hashCode() { return key1.hashCode() ^ key2.hashCode() ^ key3.hashCode(); } @Override public boolean equals(Object obj) { return (obj instanceof MultipleHMKeys) && ((MultipleHMKeys) obj).key1.equals(key1) && ((MultipleHMKeys) obj).key2.equals(key2) && ((MultipleHMKeys) obj).key3.equals(key3); } }