KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > maven > lifecycle > LifecycleExecutorInterceptor


1 package org.apache.maven.lifecycle;
2
3 import org.apache.maven.BuildFailureException;
4 import org.apache.maven.execution.MavenSession;
5 import org.apache.maven.execution.ReactorManager;
6 import org.apache.maven.monitor.event.EventDispatcher;
7
8 /**
9  * {@link LifecycleExecutor} interceptor.
10  *
11  * <p>
12  * This class is in the same package as in {@link DefaultLifecycleExecutor},
13  * because Plexus requires the class and its subordinates (like {@link Lifecycle},
14  * which is referenced in <tt>components.xml</tt>
15  *
16  * @author Kohsuke Kawaguchi
17  */

18 public class LifecycleExecutorInterceptor extends DefaultLifecycleExecutor {
19     /**
20      * {@link LifecycleExecutorListener} that receives events.
21      * There's no way external code can connect to a running instance of
22      * {@link LifecycleExecutorInterceptor}, so this cannot be made instance fields.
23      */

24     private static LifecycleExecutorListener listener;
25
26
27     public static void setListener(LifecycleExecutorListener _listener) {
28         listener = _listener;
29     }
30
31     public void execute(MavenSession session, ReactorManager rm, EventDispatcher dispatcher) throws BuildFailureException, LifecycleExecutionException {
32         if(listener!=null)
33             listener.preBuild(session,rm,dispatcher);
34         try {
35             super.execute(session, rm, dispatcher);
36         } finally {
37             if(listener!=null)
38                 listener.postBuild(session,rm,dispatcher);
39         }
40     }
41 }
42
Popular Tags