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}