View Javadoc

1   /*
2    * @(#)StationInterface.java Feb 1, 2003
3    * 
4    * Copyright (c) 2003 Delft University of Technology Jaffalaan 5, 2628 BX Delft,
5    * the Netherlands All rights reserved.
6    * 
7    * This software is proprietary information of Delft University of Technology
8    * The code is published under the General Public License
9    */
10  package nl.tudelft.simulation.dsol.formalisms.flow;
11  
12  import java.rmi.RemoteException;
13  
14  import nl.tudelft.simulation.event.EventProducerInterface;
15  import nl.tudelft.simulation.event.EventType;
16  
17  /***
18   * A station is an object which accepts other objects and is linked to a
19   * destination.
20   * <p>
21   * (c) copyright 2003 <a href="http://www.simulation.tudelft.nl">Delft
22   * University of Technology </a>, the Netherlands. <br>
23   * See for project information <a href="http://www.simulation.tudelft.nl">
24   * www.simulation.tudelft.nl </a> <br>
25   * License of use: <a href="http://www.gnu.org/copyleft/gpl.html">General Public
26   * License (GPL) </a>, no warranty <br>
27   * 
28   * @author <a href="http://www.simulation.tudelft.nl/people/jacobs.html">Peter
29   *         Jacobs </a>
30   * @version 1.5 2004-03-26
31   * @since 1.0
32   */
33  public interface StationInterface extends EventProducerInterface
34  {
35  	/*** RECEIVE_EVENT is fired whenever an entity enters the station */
36  	EventType RECEIVE_EVENT = new EventType("RECEIVE_EVENT");
37  
38  	/*** RECEIVE_EVENT is fired whenever an entity leaves the station */
39  	EventType RELEASE_EVENT = new EventType("RELEASE_EVENT");
40  
41  	/***
42  	 * Method getDestination.
43  	 * 
44  	 * @return StationInterface is the destination of this station
45  	 * @throws RemoteException on network failure
46  	 */
47  	StationInterface getDestination() throws RemoteException;
48  
49  	/***
50  	 * receives an object is invoked whenever an entity arrives
51  	 * 
52  	 * @param object is the entity
53  	 * @throws RemoteException on network failure
54  	 */
55  	void receiveObject(final Object object) throws RemoteException;
56  
57  	/***
58  	 * sets the destination of this object
59  	 * 
60  	 * @param destination defines the next station in the model
61  	 * @throws RemoteException on network failure
62  	 */
63  	void setDestination(final StationInterface destination)
64  			throws RemoteException;
65  }