Package nl.tudelft.simulation.examples.dsol.terminal

## Class Terminal

- java.lang.Object
- - org.djutils.event.EventProducer
  - - nl.tudelft.simulation.dsol.model.AbstractDSOLModel<Double,​Double,​SimTimeDouble,​S>
    - - nl.tudelft.simulation.dsol.model.AbstractDSOLModel.TimeDouble<DEVSSimulatorInterface.TimeDouble>
      - - nl.tudelft.simulation.examples.dsol.terminal.Terminal

All Implemented Interfaces:
  `Serializable`, `EventListener`, `DSOLModel<Double,​Double,​SimTimeDouble,​DEVSSimulatorInterface.TimeDouble>`, `DSOLModel.TimeDouble<DEVSSimulatorInterface.TimeDouble>`, `EventListenerInterface`, `EventProducerInterface`

    public class Terminal
    extends AbstractDSOLModel.TimeDouble<DEVSSimulatorInterface.TimeDouble>
    implements EventListenerInterface

A simple model of a container terminal.
(c) copyright 2018 Delft University of Technology , the Netherlands.
See for project information www.simulation.tudelft.nl
License of use: General Public License (GPL) , no warranty

Author:
  Alexander Verbraeck
See Also:
  Serialized Form

### Nested Class Summary

Nested Classes
`static class` `Terminal.Output`

### Nested classes/interfaces inherited from class nl.tudelft.simulation.dsol.model.AbstractDSOLModel

`AbstractDSOLModel.TimeDouble<S extends SimulatorInterface.TimeDouble>, AbstractDSOLModel.TimeDoubleUnit<S extends SimulatorInterface.TimeDoubleUnit>, AbstractDSOLModel.TimeFloat<S extends SimulatorInterface.TimeFloat>, AbstractDSOLModel.TimeFloatUnit<S extends SimulatorInterface.TimeFloatUnit>, AbstractDSOLModel.TimeLong<S extends SimulatorInterface.TimeLong>`

### Nested classes/interfaces inherited from interface nl.tudelft.simulation.dsol.model.DSOLModel

`DSOLModel.TimeDouble<S extends SimulatorInterface<Double,​Double,​SimTimeDouble>>, DSOLModel.TimeDoubleUnit<S extends SimulatorInterface<Time,​Duration,​SimTimeDoubleUnit>>, DSOLModel.TimeFloat<S extends SimulatorInterface<Float,​Float,​SimTimeFloat>>, DSOLModel.TimeFloatUnit<S extends SimulatorInterface<FloatTime,​FloatDuration,​SimTimeFloatUnit>>, DSOLModel.TimeLong<S extends SimulatorInterface<Long,​Long,​SimTimeLong>>`

### Field Summary

Fields
`static boolean` `DEBUG` debug info or not.
`static EventType` `READY_EVENT` the ship-full event.

### Fields inherited from class nl.tudelft.simulation.dsol.model.AbstractDSOLModel

`inputParameterMap, outputStatistics, simulator, streams`

### Fields inherited from class org.djutils.event.EventProducer

`eventProducerImpl`

### Fields inherited from interface org.djutils.event.EventProducerInterface

`FIRST_POSITION, LAST_POSITION`

### Constructor Summary

Constructors
`Terminal​(DEVSSimulatorInterface.TimeDouble simulator, int rep)` constructor for the Container Terminal.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `constructModel()`
`Ship` `getShip()`
`Serializable` `getSourceId()`
`void` `notify​(EventInterface event)`

### Methods inherited from class nl.tudelft.simulation.dsol.model.AbstractDSOLModel

`addInputParameter, getInputParameter, getInputParameterMap, getOutputStatistics, getSimulator, getStream, getStreams, resetStreams, setInitialStreams`

### Methods inherited from class org.djutils.event.EventProducer

`addListener, addListener, addListener, addListener, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, getEventTypesWithListeners, getListenerReferences, hasListeners, numberOfListeners, removeAllListeners, removeAllListeners, removeListener`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface nl.tudelft.simulation.dsol.model.DSOLModel

`getInputParameterMap, getOutputStatistics, getSimulator, getStream, getStreams, resetStreams, setInitialStreams, setInitialStreams`

### Field Detail

#### READY_EVENT

    public static final EventType READY_EVENT

the ship-full event.

#### DEBUG

    public static final boolean DEBUG

debug info or not.

See Also:
  Constant Field Values

### Constructor Detail

#### Terminal

    public Terminal​(DEVSSimulatorInterface.TimeDouble simulator,
                    int rep)
             throws InputParameterException

constructor for the Container Terminal.

Parameters:
  `simulator` - DEVSSimulatorInterface.TimeDouble; the simulator
  `rep` - int; the replication number
Throws:
  `InputParameterException` - on input parameter error

### Method Detail

#### constructModel

    public final void constructModel()
                              throws SimRuntimeException

Specified by:
  `constructModel` in interface `DSOLModel<Double,​Double,​SimTimeDouble,​DEVSSimulatorInterface.TimeDouble>`
Throws:
  `SimRuntimeException`

#### getShip

    public Ship getShip()

Returns:
  the ship for pub/sub

#### notify

    public void notify​(EventInterface event)

Specified by:
  `notify` in interface `EventListenerInterface`

#### getSourceId

    public Serializable getSourceId()

Specified by:
  `getSourceId` in interface `EventProducerInterface`
Specified by:
  `getSourceId` in class `EventProducer`