KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > fr > jayasoft > ivy > event > AbstractTrigger


1 package fr.jayasoft.ivy.event;
2
3 import fr.jayasoft.ivy.IvyContext;
4 import fr.jayasoft.ivy.filter.Filter;
5 import fr.jayasoft.ivy.matcher.PatternMatcher;
6
7 /**
8  * Base class for easy trigger implementation.
9  *
10  * This base class takes of the event filtering part, the only method to implement in subclasses
11  * is {@link IvyListener#progress(IvyEvent)} which should do whatever the trigger needs to do when
12  * the event occurs. This method will only be called when an event matching the trigger filter occurs.
13  *
14  *
15  *
16  * @since 1.4
17  * @author Xavier Hanin
18  *
19  */

20 public abstract class AbstractTrigger implements Trigger {
21     private Filter _filter;
22     
23     private String JavaDoc _event;
24     private String JavaDoc _filterExpression;
25     private String JavaDoc _matcher = PatternMatcher.EXACT;
26     
27     public Filter getEventFilter() {
28         if (_filter == null) {
29             _filter = createFilter();
30         }
31         return _filter;
32     }
33
34     private Filter createFilter() {
35         return new IvyEventFilter(getEvent(), getFilter(), getPatternMatcher());
36     }
37
38     private PatternMatcher getPatternMatcher() {
39         return IvyContext.getContext().getIvy().getMatcher(_matcher);
40     }
41
42     public String JavaDoc getEvent() {
43         return _event;
44     }
45
46     public void setEvent(String JavaDoc event) {
47         _event = event;
48     }
49
50     public String JavaDoc getFilter() {
51         return _filterExpression;
52     }
53
54     public void setFilter(String JavaDoc filterExpression) {
55         _filterExpression = filterExpression;
56     }
57
58     public String JavaDoc getMatcher() {
59         return _matcher;
60     }
61
62     public void setMatcher(String JavaDoc matcher) {
63         _matcher = matcher;
64     }
65
66
67 }
68
Popular Tags