View Javadoc

1   /*
2    * @(#)SendingDevice.java Feb 17, 2004
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 is proprietary information
11   * of Delft University of Technology.
12   */
13  
14  package nl.tudelft.simulation.messaging.devices.components;
15  
16  import nl.tudelft.simulation.messaging.Message;
17  import nl.tudelft.simulation.messaging.devices.types.DeviceType;
18  
19  /***
20   * Abstract implementation of a sending device. The send method still needs to
21   * be implemented. <br>
22   * <br>
23   * Copyright (c) 2003-2005 Delft University of Technology, Jaffalaan 5, 2628 BX
24   * Delft, the Netherlands. All rights reserved.
25   * 
26   * See for project information <a href="http://www.simulation.tudelft.nl/">
27   * www.simulation.tudelft.nl </a>.
28   * 
29   * The source code and binary code of this software is proprietary information
30   * of Delft University of Technology.
31   * 
32   * @author <a href="http://www.tbm.tudelft.nl/webstaf/peterja/index.htm">Peter
33   *         Jacobs </a>, <a
34   *         href="mailto:s.p.a.vanhouten@tbm.tudelft.nl">Stijn-Pieter van Houten
35   *         </a>, <a
36   *         href="http://www.tbm.tudelft.nl/webstaf/alexandv/index.htm">Alexander
37   *         Verbraeck </a>
38   * @version $$Revision: 1.3 $$ $$Date: 2005/04/08 11:29:12 $$
39   */
40  public abstract class SendingDevice extends Device implements
41  		SendingDeviceInterface
42  {
43  	/*** the serial version uid */
44  	private static final long serialVersionUID = 12L;
45  
46  	/***
47  	 * constructs a new device, take the transmission delay and frequency from
48  	 * the DeviceType.
49  	 * 
50  	 * @param name the name or description of the device
51  	 * @param deviceType the type of device
52  	 */
53  	public SendingDevice(final String name, final DeviceType deviceType)
54  	{
55  		super(name, deviceType);
56  	}
57  
58  	/***
59  	 * constructs a new device, override the default transmission delay and
60  	 * frequency from the DeviceType.
61  	 * 
62  	 * @param name the name or description of the device
63  	 * @param deviceType the type of device
64  	 * @param transmissionDelay the default logarithmic transmission delay of
65  	 *        the device.
66  	 * @param transmissionFrequency the maximum transmission frequency of the
67  	 *        device.
68  	 */
69  	public SendingDevice(final String name, final DeviceType deviceType,
70  			final int transmissionDelay, final double transmissionFrequency)
71  	{
72  		super(name, deviceType, transmissionDelay, transmissionFrequency);
73  	}
74  
75  	/***
76  	 * @see nl.tudelft.simulation.messaging.devices.components.SendingDeviceInterface#send(nl.tudelft.simulation.messaging.Message)
77  	 */
78  	public abstract Object send(final Message message);
79  }