View Javadoc

1   /*
2   * The contents of this file are subject to the BT "ZEUS" Open Source 
3   * Licence (L77741), Version 1.0 (the "Licence"); you may not use this file 
4   * except in compliance with the Licence. You may obtain a copy of the Licence
5   * from $ZEUS_INSTALL/licence.html or alternatively from
6   * http://www.labs.bt.com/projects/agents/zeus/licence.htm
7   * 
8   * Except as stated in Clause 7 of the Licence, software distributed under the
9   * Licence is distributed WITHOUT WARRANTY OF ANY KIND, either express or 
10  * implied. See the Licence for the specific language governing rights and 
11  * limitations under the Licence.
12  * 
13  * The Original Code is within the package zeus.*.
14  * The Initial Developer of the Original Code is British Telecommunications
15  * public limited company, whose registered office is at 81 Newgate Street, 
16  * London, EC1A 7AJ, England. Portions created by British Telecommunications 
17  * public limited company are Copyright 1996-9. All Rights Reserved.
18  * 
19  * THIS NOTICE MUST BE INCLUDED ON ANY COPY OF THIS FILE
20  */
21  
22  
23  
24  package zeus.actors.event;
25  
26  import zeus.util.*;
27  import zeus.actors.rtn.*;
28  
29  public class NodeEvent extends Event {
30     public static final long CREATE_MASK       = 1;
31     public static final long DISPOSE_MASK      = 2;
32     public static final long STATE_CHANGE_MASK = 4;
33  
34     public NodeEvent(Object source, Node object, long event_mask) {
35        super(source,object,NODE_FIRST,NODE_LAST,event_mask);
36     }
37  
38     public String getNodeName()      { return getNode().getDescription();   }
39     public Node   getNode()          { return (Node)object; }
40     public Node   getLogicalParent() { return ((Node)object).getPrevious(); }
41     public Node[] getParents()       { return ((Node)object).getParents(); }
42     public int    getState()         { return ((Node)object).getState(); }
43     
44     public String getLogicalParentName() { 
45        return getLogicalParent().getDescription();
46     }
47  
48     public String[] getParentNames() {
49        Node[] parents = getParents();
50        if ( parents == null ) return null;
51  
52        String[] output = new String[parents.length];
53        for(int i = 0; i < parents.length; i++ )
54           output[i] = parents[i].getDescription();
55        return output;
56     }
57  }