View Javadoc

1   /*
2    * @(#) SingleUserInteractionLayerInterface.java Aug 4, 2005
3    * 
4    * Copyright (c) 2003-2005 Delft University of Technology, Jaffalaan 5, 2628 BX
5    * Delft, the Netherlands. All rights reserved.
6    * 
7    * See for project information <a href="http://www.simulation.tudelft.nl/">
8    * www.simulation.tudelft.nl </a>.
9    * 
10   * The source code and binary code of this software are proprietary information
11   * of Delft University of Technology.
12   */
13  package org.gscg.singleuser.interactionlayer;
14  
15  import java.rmi.RemoteException;
16  
17  import org.gscg.common.interactionlayer.GlobalInteractionLayerInterface;
18  import org.gscg.game.GameGlobalData;
19  
20  import nl.tudelft.simulation.dsol.simulators.SimulatorInterface;
21  import nl.tudelft.simulation.event.EventInterface;
22  import nl.tudelft.simulation.event.EventListenerInterface;
23  import nl.tudelft.simulation.event.EventType;
24  import nl.tudelft.simulation.supplychain.actor.SupplyChainActor;
25  
26  /***
27   * The interface for single user interaction layers.
28   * <p>
29   * (c) copyright 2005 <a href="http://www.simulation.tudelft.nl">Delft
30   * University of Technology </a>, the Netherlands. <br>
31   * See for project information <a
32   * href="http://www.simulation.tudelft.nl">www.simulation.tudelft.nl </a> <br>
33   * 
34   * Copyright (c) 2003-2005 Delft University of Technology, Jaffalaan 5, 2628 BX
35   * Delft, the Netherlands. All rights reserved.
36   * 
37   * See for project information <a href="http://www.simulation.tudelft.nl/">
38   * www.simulation.tudelft.nl </a>.
39   * 
40   * The source code and binary code of this software are proprietary information
41   * of Delft University of Technology.
42   * 
43   * @author <a
44   *         href="http://www.tbm.tudelft.nl/webstaf/stijnh/index.htm">Stijn-Pieter
45   *         van Houten </a>
46   * @version $Revision: 1.1 $ $Date: 2005/08/09 15:43:41 $
47   * @since 1.1.12
48   */
49  public interface SingleUserInteractionLayerInterface extends
50  		EventListenerInterface, GlobalInteractionLayerInterface
51  {
52  	/***
53  	 * Method addEventType Before an event is fired by the interaction layer, a
54  	 * check is performed whether the interaction layer should fire the event.
55  	 * The check is based upon a set with events which is filled by invoking
56  	 * this method.
57  	 * 
58  	 * @param eventType the event type to add
59  	 * @throws RemoteException thrown in case of network failure
60  	 */
61  	public void addEventType(EventType eventType) throws RemoteException;
62  
63  	/***
64  	 * Method addStatisticEventType adds an event to a set with event types only
65  	 * used for statistical updates. Upon initialization, a remote game leader
66  	 * graphical user interface asks for this set. EventTypes which are added to
67  	 * this set should follow the following convention ACTORROLE_ + description
68  	 * of eventtype. E.g. CUSTOMER_DEMAND_CHANGED_EVENT.
69  	 * 
70  	 * @param eventType the event type to add
71  	 * @throws RemoteException thrown in case of network failure
72  	 */
73  	public void addStatisticEventType(final EventType eventType)
74  			throws RemoteException;
75  
76  	/***
77  	 * @return Returns the globalSupplyChainData.
78  	 * @throws RemoteException thrown in case of network failure
79  	 */
80  	public GameGlobalData getGlobalSupplyChainData() throws RemoteException;
81  
82  	/***
83  	 * @return Returns the owner.
84  	 * @throws RemoteException thrown in case of network failure
85  	 */
86  	public SupplyChainActor getOwner() throws RemoteException;
87  
88  	/***
89  	 * @return Returns the simulator.
90  	 * @throws RemoteException thrown in case of network failure
91  	 */
92  	public SimulatorInterface getSimulator() throws RemoteException;
93  
94  	/***
95  	 * Method notifyAnnounced.
96  	 * 
97  	 * @param event the event for the announce method
98  	 * @throws RemoteException thrown in case of network failure
99  	 */
100 	public void notifyAnnounced(EventInterface event) throws RemoteException;
101 }