package edu.jhu.agiga; import java.io.Serializable; /** * An AgigaToken object represents a single token and its annotations in the * AnnotatedGigaword corpus. This provides access to the word, the lemma, the * optional normalized named entity, the part-of-speech tag, the named entity * type, the character offset indices of the beginning and the end of the token, * and the token id. * * @author mgormley * */ public class AgigaToken implements Serializable { public static final long serialVersionUID = 1; private int tokIdx; private String word; private String lemma; private int charOffBegin; private int charOffEnd; private String posTag; private String nerTag; private String normNer; public AgigaToken() { // No argument constructor } public AgigaToken(String word, String lemma, int charOffBegin, int charOffEnd, String posTag, String nerTag, String normNer) { this.word = word; this.lemma = lemma; this.charOffBegin = charOffBegin; this.charOffEnd = charOffEnd; this.posTag = posTag; this.nerTag = nerTag; this.normNer = normNer; } public String getWord() { return word; } public void setWord(String word) { this.word = word; } public String getLemma() { return lemma; } public void setLemma(String lemma) { this.lemma = lemma; } public int getCharOffBegin() { return charOffBegin; } public void setCharOffBegin(int charOffBegin) { this.charOffBegin = charOffBegin; } public int getCharOffEnd() { return charOffEnd; } public void setCharOffEnd(int charOffEnd) { this.charOffEnd = charOffEnd; } public String getPosTag() { return posTag; } public void setPosTag(String posTag) { this.posTag = posTag; } public String getNerTag() { return nerTag; } public void setNerTag(String nerTag) { this.nerTag = nerTag; } public String getNormNer() { return normNer; } public void setNormNer(String normNer) { this.normNer = normNer; } public void setTokIdx(int tokIdx) { this.tokIdx = tokIdx; } public int getTokIdx() { return tokIdx; } @Override public boolean equals(Object other) { if(other == null) return false; if(other instanceof AgigaToken) { AgigaToken o = (AgigaToken) other; return tokIdx == o.tokIdx && Util.safeEquals(word, o.word) && Util.safeEquals(lemma, o.lemma) && charOffBegin == o.charOffBegin && charOffEnd == o.charOffEnd && Util.safeEquals(posTag, o.posTag) && Util.safeEquals(nerTag, o.nerTag) && Util.safeEquals(normNer, o.normNer); } return false; } @Override public int hashCode() { return Util.safeHashCode( tokIdx, word, lemma, charOffBegin, charOffEnd, posTag, nerTag, normNer); } }