KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > maven > monitor > event > AbstractSelectiveEventMonitor


1 package org.apache.maven.monitor.event;
2
3 import java.util.Arrays JavaDoc;
4 import java.util.List JavaDoc;
5
6 /**
7  * @author jdcasey
8  */

9 public abstract class AbstractSelectiveEventMonitor
10     implements EventMonitor
11 {
12     
13     private List JavaDoc boundStartEvents;
14     private List JavaDoc boundErrorEvents;
15     private List JavaDoc boundEndEvents;
16
17     protected AbstractSelectiveEventMonitor(String JavaDoc[] startEvents, String JavaDoc[] endEvents, String JavaDoc[] errorEvents)
18     {
19         this.boundStartEvents = Arrays.asList( startEvents );
20         
21         this.boundEndEvents = Arrays.asList( endEvents );
22         
23         this.boundErrorEvents = Arrays.asList( errorEvents );
24     }
25
26     public final void startEvent( String JavaDoc eventName, String JavaDoc target, long timestamp )
27     {
28         if( boundStartEvents.contains( eventName ) )
29         {
30             doStartEvent( eventName, target, timestamp );
31         }
32     }
33     
34     protected void doStartEvent( String JavaDoc eventName, String JavaDoc target, long timestamp )
35     {
36     }
37
38     public final void endEvent( String JavaDoc eventName, String JavaDoc target, long timestamp )
39     {
40         if( boundEndEvents.contains( eventName ) )
41         {
42             doEndEvent( eventName, target, timestamp );
43         }
44     }
45
46     protected void doEndEvent( String JavaDoc eventName, String JavaDoc target, long timestamp )
47     {
48     }
49
50     public final void errorEvent( String JavaDoc eventName, String JavaDoc target, long timestamp, Throwable JavaDoc cause )
51     {
52         if( boundErrorEvents.contains( eventName ) )
53         {
54             doErrorEvent( eventName, target, timestamp, cause );
55         }
56     }
57
58     protected void doErrorEvent( String JavaDoc eventName, String JavaDoc target, long timestamp, Throwable JavaDoc cause )
59     {
60     }
61
62 }
63
Popular Tags