logist.simulation
Class VehicleImpl

java.lang.Object
  extended by logist.simulation.VehicleImpl
All Implemented Interfaces:
java.lang.Comparable<logist.simulation.MovingObject>, ActionHandler<java.lang.Boolean>, uchicago.src.sim.gui.Drawable

public class VehicleImpl
extends java.lang.Object
implements ActionHandler<java.lang.Boolean>

A vehicle in the pickup and delivery problem.

Author:
Robin Steiger

Constructor Summary
VehicleImpl(int id, java.lang.String name, int capacity, int costPerKm, Topology.City home, long speed, java.awt.Color color)
           
 
Method Summary
 void beginRound(TaskSet tasks)
           
 int compareTo(logist.simulation.MovingObject that)
           
 java.lang.Boolean deliver(Task task)
          A delivery pattern
 void draw(uchicago.src.sim.gui.SimGraphics g)
           
 Action executeNextAction()
           
 java.awt.Color getColor()
           
 Topology.City getCurrentCity()
           
 Vehicle getInfo()
           
 double getRewardRatio()
           
 long getSpeed()
           
 long getUnusedNanos()
           
 int getX()
           
 int getY()
           
 boolean hasNextAction()
           
 java.lang.Boolean moveTo(Topology.City target)
          A move pattern
 int numTasks()
           
 java.lang.Boolean pickup(Task task)
          A pickup pattern
 void setController(VehicleController controller)
           
 void setTasks(TaskSet tasks)
           
 void step(long nanos)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VehicleImpl

public VehicleImpl(int id,
                   java.lang.String name,
                   int capacity,
                   int costPerKm,
                   Topology.City home,
                   long speed,
                   java.awt.Color color)
Method Detail

setController

public void setController(VehicleController controller)

beginRound

public void beginRound(TaskSet tasks)
Parameters:
tasks -

setTasks

public void setTasks(TaskSet tasks)

getCurrentCity

public Topology.City getCurrentCity()

hasNextAction

public boolean hasNextAction()

executeNextAction

public Action executeNextAction()

getRewardRatio

public double getRewardRatio()

numTasks

public int numTasks()

deliver

public java.lang.Boolean deliver(Task task)
Description copied from interface: ActionHandler
A delivery pattern

Specified by:
deliver in interface ActionHandler<java.lang.Boolean>
Parameters:
task - The task being delivered

moveTo

public java.lang.Boolean moveTo(Topology.City target)
Description copied from interface: ActionHandler
A move pattern

Specified by:
moveTo in interface ActionHandler<java.lang.Boolean>
Parameters:
target - The target city

pickup

public java.lang.Boolean pickup(Task task)
Description copied from interface: ActionHandler
A pickup pattern

Specified by:
pickup in interface ActionHandler<java.lang.Boolean>
Parameters:
task - The task being picked up

getInfo

public Vehicle getInfo()

step

public void step(long nanos)

getSpeed

public long getSpeed()

getColor

public java.awt.Color getColor()

getUnusedNanos

public long getUnusedNanos()

compareTo

public int compareTo(logist.simulation.MovingObject that)
Specified by:
compareTo in interface java.lang.Comparable<logist.simulation.MovingObject>

draw

public void draw(uchicago.src.sim.gui.SimGraphics g)
Specified by:
draw in interface uchicago.src.sim.gui.Drawable

getX

public int getX()
Specified by:
getX in interface uchicago.src.sim.gui.Drawable

getY

public int getY()
Specified by:
getY in interface uchicago.src.sim.gui.Drawable