001package org.cleartk.clearnlp;
002
003import java.util.List;
004
005import org.apache.uima.jcas.JCas;
006import org.apache.uima.jcas.tcas.Annotation;
007import org.cleartk.token.type.Token;
008import org.apache.uima.fit.util.JCasUtil;
009
010import com.google.common.annotations.Beta;
011
012
013/**
014 * Defines common set of token data type operations used to convert output from tokenizers, pos taggers, and lemmatizers into
015 * the annotations and properties of {@link org.cleartk.token.type.Token}
016 * 
017 * @author Lee Becker
018 *
019 */
020@Beta
021public class CleartkTokenOps implements TokenOps<Token>{
022
023  @Override
024  public Token createToken(JCas jCas, int begin, int end) {
025    Token token = (new Token(jCas, begin, end));
026    token.addToIndexes();
027    return token;
028  }
029
030  @Override
031  public List<Token> selectTokens(JCas jCas, Annotation coveringAnnotation) {
032    return JCasUtil.selectCovered(jCas, Token.class, coveringAnnotation);
033  }
034
035  @Override
036  public String getPos(JCas jCas, Token token) {
037    return token.getPos();
038  }
039
040  @Override
041  public void setPos(JCas jCas, Token token, String posTag) {
042    token.setPos(posTag);
043  }
044
045  @Override
046  public String getLemma(JCas jCas, Token token) {
047    return token.getLemma();
048  }
049
050  @Override
051  public void setLemma(JCas jCas, Token token, String lemma) {
052    token.setLemma(lemma);
053  }
054
055}