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 ArcEvent extends Event {
30     public static final long CREATE_MASK  = 1;
31     public static final long DISPOSE_MASK = 2;
32     public static final long FAIL_MASK    = 4;
33     public static final long SUCCEED_MASK = 8;
34  
35     protected Node origin = null;
36     protected Node destination = null;
37  
38     public ArcEvent(Object source, Arc object, Node node, long event_mask) {
39        super(source,object,ARC_FIRST,ARC_LAST,event_mask);
40        if ( (event_mask & CREATE_MASK) != 0 )
41           origin = node;
42        else if ( (event_mask & SUCCEED_MASK) != 0 )
43           destination = node;
44        else
45           Core.ERROR(node != null, 1, this);
46     }
47     public Arc  getArc()         { return (Arc)object; }
48     public Node getOrigin()      { return origin; }
49     public Node getDestination() { return destination; }
50  }