You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.4 KiB
56 lines
1.4 KiB
package data;
|
|
/*
|
|
Created for when words are sorted by multiple keys, i.e. not just lemmas but lemmas and msd simultaneously.
|
|
*/
|
|
public final class MultipleHMKeys {
|
|
private final String key, lemma, wordType, msd;
|
|
|
|
public MultipleHMKeys(String key) {
|
|
this.key = key;
|
|
this.lemma = "";
|
|
this.wordType = "";
|
|
this.msd = "";
|
|
}
|
|
|
|
public MultipleHMKeys(String key, String lemma, String wordType, String msd) {
|
|
this.key = key;
|
|
this.lemma = lemma;
|
|
this.wordType = wordType;
|
|
this.msd = msd;
|
|
}
|
|
|
|
public String getKey() {
|
|
return key;
|
|
}
|
|
|
|
public String getLemma() {
|
|
return lemma;
|
|
}
|
|
|
|
public String getWordType() {
|
|
return wordType;
|
|
}
|
|
|
|
public String getMsd() {
|
|
return msd;
|
|
}
|
|
|
|
@Override
|
|
public int hashCode() {
|
|
// if(key2 == null){
|
|
// return key1.hashCode();
|
|
// } else if (key3 == null){
|
|
// return key1.hashCode() ^ key2.hashCode();
|
|
// }
|
|
return key.hashCode() ^ lemma.hashCode() ^ wordType.hashCode() ^ msd.hashCode();
|
|
}
|
|
|
|
@Override
|
|
public boolean equals(Object obj) {
|
|
return (obj instanceof MultipleHMKeys) && ((MultipleHMKeys) obj).key.equals(key)
|
|
&& ((MultipleHMKeys) obj).lemma.equals(lemma)
|
|
&& ((MultipleHMKeys) obj).wordType.equals(wordType)
|
|
&& ((MultipleHMKeys) obj).msd.equals(msd);
|
|
}
|
|
}
|