ViewerModelEvent.java
01 package net.sourceforge.pmd.util.viewer.model;
02 
03 /**
04  * The event which will be sent every time  the model changes
05  <p/>
06  <p/>
07  <p/>
08  <p/>
09  <p/>
10  * Note: the instances will be immutable
11  <p/>
12  </p>
13  *
14  @author Boris Gruschko ( boris at gruschko.org )
15  @version $Id: ViewerModelEvent.java 4217 2006-02-10 14:15:31Z tomcopeland $
16  */
17 public class ViewerModelEvent {
18     /**
19      * reason in the case of code recompilation
20      */
21     public static final int CODE_RECOMPILED = 1;
22     /**
23      * reason in the case of node selection
24      */
25     public static final int NODE_SELECTED = 2;
26     /**
27      * reason in the case of path extension
28      */
29     public static final int PATH_EXPRESSION_APPENDED = 3;
30     /**
31      * reason in the case of path expression evaluation
32      */
33     public static final int PATH_EXPRESSION_EVALUATED = 4;
34     private Object source;
35     private int reason;
36     private Object parameter;
37 
38     /**
39      * Creates an event
40      *
41      @param source event's source
42      @param reason event's reason
43      */
44     public ViewerModelEvent(Object source, int reason) {
45         this(source, reason, null);
46     }
47 
48     /**
49      * Creates an event
50      *
51      @param source    event's source
52      @param reason    event's reason
53      @param parameter parameter object
54      */
55     public ViewerModelEvent(Object source, int reason, Object parameter) {
56         this.source = source;
57         this.reason = reason;
58         this.parameter = parameter;
59     }
60 
61     public int getReason() {
62         return reason;
63     }
64 
65     public Object getSource() {
66         return source;
67     }
68 
69     public Object getParameter() {
70         return parameter;
71     }
72 }