/** * */ package org.voyanttools.trombone.model; /** * @author sgs * */ public class DocumentToken implements Comparable<DocumentToken> { private String docId; private int docIndex; private String term; private TokenType tokenType; private int rawFreq; private int position; private int startOffset; private int endOffset; private String lemma; private String pos; /** * */ public DocumentToken(String docId, int docIndex, String term, TokenType tokenType, int position, int startOffset, int endOffset, int rawFreq) { this.docId = docId; this.docIndex = docIndex; this.term = term; this.tokenType = tokenType; this.rawFreq = rawFreq; this.position = position; this.startOffset = startOffset; this.endOffset = endOffset; lemma = null; pos = null; } @Override public int compareTo(DocumentToken dt) { return Integer.valueOf(position).compareTo(Integer.valueOf(dt.position)); } public String getTerm() { return term; } public TokenType getTokenType() { return tokenType; } public int getRawFreq() { return rawFreq; } public int getPosition() { return position; } public int getStartOffset() { return startOffset; } public int getEndOffset() { return startOffset; } public String toString() { StringBuilder sb = new StringBuilder(getTerm()); if (lemma!=null || pos!=null) { sb.append(" ("); if (lemma!=null) {sb.append(lemma);} if (pos!=null) {sb.append("/").append(pos);} } if (lemma!=null) {sb.append(" (").append(lemma).append(")");} sb.append(" ").append(position).append(":").append(startOffset).append("-").append(endOffset); return sb.toString(); } public void setLemma(String lemma) { this.lemma = lemma; } public void setPos(String pos) { this.pos = pos; } public String getLemma() { return lemma; } public String getPos() { return pos; } }