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;
}
}