La partie 3. Développer le code de l’annotateur du Tutoriel UIMA I : création d’un composant d’annotation propose le code Java d’un annotateur utilisant l’interface Java JCas du CAS pour injecter les annotations dans le CAS. Voici le code réalisant le même travail sans utiliser le JCas :
import org.apache.uima.analysis_component.CasAnnotator_ImplBase;
import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
import org.apache.uima.cas.CAS;
import org.apache.uima.cas.FeatureStructure;
import org.apache.uima.cas.Type;
import java.text.BreakIterator;
public class TokenCASAnnotator extends CasAnnotator_ImplBase {
public void process(CAS aCAS) throws AnalysisEngineProcessException {
BreakIterator iterToken = BreakIterator.getWordInstance();
iterToken.setText(aCAS.getDocumentText());
int deb = iterToken.first();
int fin = iterToken.next();
while (fin != BreakIterator.DONE) {
Type TokenCAS = aCAS.getTypeSystem().getType("Token");
FeatureStructure fs = aCAS.createAnnotation(TokenCAS, deb, fin);v
aCAS.getIndexRepository().addFS(fs);
deb = fin;
fin = iterToken.next();
}
}
}