Log in Help
Print
HomewikiTrainingCourseAug2010track2-files 〉 CumulativeStats.java
 
package module7;

import gate.*;
import gate.creole.*;
import gate.creole.metadata.CreoleResource;
import gate.gui.*;

import java.awt.event.*;
import java.util.*;
import javax.swing.*;

@CreoleResource(name = "Cumulative statistics")
public class CumulativeStats extends AbstractLanguageAnalyser implements ActionsPublisher {
  private int totalTokens;

  public void execute() throws ExecutionException {
    int tokens = document.getAnnotations().get("Token").size(); 
    document.getFeatures().put("token_count", tokens);
    totalTokens += tokens;
  }

  private List<Action> actions;

  public List<Action> getActions() {
    if(actions == null) {
      actions.add(new AbstractAction("Reset counter") {
        public void actionPerformed(ActionEvent e) {
          // reset the totalTokens counter
        }
      });

      actions.add(new AbstractAction("Show current total") {
        public void actionPerformed(ActionEvent e) {
          // show the current value of totalTokens, either to System.out or
          // using a JOptionPane.  For a JOptionPane you can use
          // MainFrame.getInstance() as the parent component:
          // JOptionPane.showMessageDialog(MainFrame.getInstance(), "Message")
        }
      });
    }

    return actions;
  }
}