01: /*______________________________________________________________________________
02: *
03: * Macker http://innig.net/macker/
04: *
05: * Copyright 2002-2003 Paul Cantrell
06: *
07: * This program is free software; you can redistribute it and/or modify it under
08: * the terms of the GNU General Public License version 2, as published by the
09: * Free Software Foundation. See the file LICENSE.html for more information.
10: *
11: * This program is distributed in the hope that it will be useful, but WITHOUT
12: * ANY WARRANTY, including the implied warranty of MERCHANTABILITY or FITNESS
13: * FOR A PARTICULAR PURPOSE. See the license for more details.
14: *
15: * You should have received a copy of the GNU General Public License along with
16: * this program; if not, write to the Free Software Foundation, Inc. / 59 Temple
17: * Place, Suite 330 / Boston, MA 02111-1307 / USA.
18: *______________________________________________________________________________
19: */
20:
21: package net.innig.macker.event;
22:
23: import net.innig.macker.rule.RuleSet;
24:
25: import java.util.*;
26:
27: public interface MackerEventListener extends EventListener {
28: /** Called before rule checking begins for the given ruleset.
29: */
30: public void mackerStarted(RuleSet ruleSet) throws ListenerException;
31:
32: /** Called after rule checking has finished for the given ruleset.
33: */
34: public void mackerFinished(RuleSet ruleSet)
35: throws MackerIsMadException, ListenerException;
36:
37: /** Called after an exception has aborted rule checking for the given ruleset.
38: * <b>??</b>: Is mackerAborted called if mackerFinished() was already called, but
39: * another listener subsequently aborted?
40: */
41: public void mackerAborted(RuleSet ruleSet);
42:
43: /** Handles Macker's irrational anger.
44: */
45: public void handleMackerEvent(RuleSet ruleSet, MackerEvent event)
46: throws MackerIsMadException, ListenerException;
47: }
|