org.intranet.elevator.model
Class Car

java.lang.Object
  extended byorg.intranet.sim.ModelElement
      extended byorg.intranet.elevator.model.Location
          extended byorg.intranet.elevator.model.MovableLocation
              extended byorg.intranet.elevator.model.Car

public final class Car
extends MovableLocation

The states of Car are substates of MovableLocation:IDLE. Valid states:

State Variables Transitions
destination location setDestination() undock() [MovableLocation.arrive()]
IDLE:UNDOCKED null null MOVING or arrive(): DOCKED Illegal Impossible
MOVING Set null MOVING or arrive(): DOCKED Illegal DOCKED
[docked()]
IDLE:UNDOCKING Set Set UNDOCKING MOVING Impossible
IDLE:DOCKED null Set UNDOCKING UNDOCKED Impossible


Nested Class Summary
static interface Car.Listener
           
 
Nested classes inherited from class org.intranet.elevator.model.MovableLocation
 
Field Summary
private  Floor destination
           
private  java.util.List listeners
           
private  Floor location
           
private  java.lang.String name
           
private  FloorRequestPanel panel
           
 
Fields inherited from class org.intranet.elevator.model.MovableLocation
 
Fields inherited from class org.intranet.elevator.model.Location
 
Fields inherited from class org.intranet.sim.ModelElement
eventQueue
 
Constructor Summary
Car(EventQueue eQ, java.lang.String name, float height, int capacity)
           
 
Method Summary
 void addListener(Car.Listener listener)
           
protected  void arrive()
           
private  void fireDockedEvent()
           
 Floor getDestination()
           
 Floor getFloorAt()
           
 FloorRequestPanel getFloorRequestPanel()
           
 Floor getLocation()
           
 java.lang.String getName()
           
 float getRatePerSecond()
           
 float getTravelTime(Floor floor)
           
 void removeListener(Car.Listener listener)
           
 void setDestination(Floor destination)
           
 void undock()
           
 
Methods inherited from class org.intranet.elevator.model.MovableLocation
getNumTravels, getTotalDistance, getTravelTime, setDestinationHeight, setHeight
 
Methods inherited from class org.intranet.elevator.model.Location
getCapacity, getHeight, getPeople, isAtCapacity, personEnters, personLeaves
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

name

private java.lang.String name

location

private Floor location

destination

private Floor destination

panel

private FloorRequestPanel panel

listeners

private java.util.List listeners
Constructor Detail

Car

public Car(EventQueue eQ,
           java.lang.String name,
           float height,
           int capacity)
Method Detail

setDestination

public void setDestination(Floor destination)

getTravelTime

public float getTravelTime(Floor floor)

undock

public void undock()

getDestination

public Floor getDestination()

getLocation

public Floor getLocation()

addListener

public void addListener(Car.Listener listener)

removeListener

public void removeListener(Car.Listener listener)

getName

public java.lang.String getName()

getFloorRequestPanel

public FloorRequestPanel getFloorRequestPanel()

getFloorAt

public Floor getFloorAt()

getRatePerSecond

public final float getRatePerSecond()
Specified by:
getRatePerSecond in class MovableLocation

arrive

protected void arrive()
Specified by:
arrive in class MovableLocation

fireDockedEvent

private void fireDockedEvent()