package module7; import gate.Resource; import gate.creole.AbstractLanguageAnalyser; import gate.creole.ExecutionException; import gate.creole.ResourceInstantiationException; import gate.creole.metadata.CreoleParameter; import gate.creole.metadata.CreoleResource; import gate.creole.metadata.Optional; import gate.creole.metadata.RunTime; @CreoleResource (name = "Document Stats", comment = "Calculatest document statistics.") public class DocStats extends AbstractLanguageAnalyser { private String inputASName; @Optional @RunTime @CreoleParameter(defaultValue="", comment="The name for the input annotation set.") public void setInputASName(String inputAsName) { this.inputASName = inputAsName; } @Override public void execute() throws ExecutionException { int tokens = document.getAnnotations().get("Token").size(); document.getFeatures().put("token_count", tokens); } @Override public Resource init() throws ResourceInstantiationException { System.out.println(getClass().getName() + " is initialising."); return this; } }