Log in Help
Print
Homesaletalksgate-course-may10track-2module-7-creolehands-onsrcmodule7 〉 DocStats.java
 
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;
  }
}