public class SensorMoverReferee extends SimEntityBase
Modifier and Type | Field and Description |
---|---|
private SensorMoverMediator |
defaultMediator |
static double |
EPSILON |
private java.util.HashMap<java.lang.Class<? extends Sensor>,java.util.HashMap<java.lang.Class<? extends Mover>,SensorMoverMediator>> |
mediators |
protected java.util.Set<Mover> |
movers |
protected java.util.Set<Sensor> |
sensors |
static java.awt.geom.Point2D |
ZERO |
eventList, property
DEFAULT_ENTITY_NAME, DEFAULT_EVENT_NAME, DEFAULT_PRIORITY, EVENT_METHOD_PREFIX, NL
Constructor and Description |
---|
SensorMoverReferee() |
Modifier and Type | Method and Description |
---|---|
void |
addMediator(java.lang.Class<? extends Sensor> sensorClass,
java.lang.Class<? extends Mover> moverClass,
SensorMoverMediator mediator) |
void |
doCheckMover(Mover mover,
java.util.Iterator<Sensor> iter)
If Mover is not the Sensor's that is pointed to, compute enter/exit
times.
|
void |
doCheckSensor(Sensor sensor,
java.util.Iterator<Mover> iter)
If Mover being pointed to is not the sensor's, compute enter/exit times.
|
void |
doEnterRange(Mover mover,
Sensor sensor)
The mover has just entered the maximum range of the sensor.
|
void |
doExitRange(Mover mover,
Sensor sensor)
Schedule ExitRange(mover, sensor) on appropriate Mediator.
|
void |
doRegisterMover(Mover mover)
Add mover to movers and listen to it.
|
void |
doRegisterSensor(Sensor sensor)
Add to sensors list.
|
void |
doStartMove(Mover mover)
Schedule CheckSensor(mover, Iterator<Sensor>).
|
void |
doStartMove(Sensor sensor)
Schedule CheckMover(sensor, Iterator<Sensor>).
|
void |
doStop(Mover mover)
Schedule CheckSensor(mover, Iterator<Sensor>).
|
void |
doStop(Sensor sensor)
Schedule CheckMover(sensor, Iterator<Sensor>).
|
void |
doUnregisterMover(Mover mover)
Normally this is only done when a platform is killed.
|
void |
doUnregisterSensor(Sensor sensor)
Normally this is only done when a platform is killed.
|
SensorMoverMediator |
getDefaultMediator() |
java.util.HashMap<java.lang.Class<? extends Sensor>,java.util.HashMap<java.lang.Class<? extends Mover>,SensorMoverMediator>> |
getMediators() |
java.util.Set<Mover> |
getMovers() |
java.util.Set<Sensor> |
getSensors() |
void |
reset()
Clear movers and sensors.
|
void |
setDefaultMediator(SensorMoverMediator defaultMediator) |
void |
setMediators(java.util.HashMap<java.lang.Class<? extends Sensor>,java.util.HashMap<java.lang.Class<? extends Mover>,SensorMoverMediator>> mediators) |
java.lang.String |
toString()
A default string description of this entity, name (Entity Priority)
<list of all properties as key = value pairs>
|
coldReset, dumpDoMethods, dumpDoMethodsStr, dumpNamesAndSignatures, dumpNamesAndSignaturesStr, getFullMethodName, getSignatureString, handleSimEvent, isAssignableFrom, isDebug, processSimEvent, setDebug, stopAtTime, stopOnTime
addPropertyChangeListener, addPropertyChangeListener, attemptSchedule, clearAddedProperty, compareTo, fireIndexedPropertyChange, fireIndexedPropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAddedProperties, getEventList, getEventListID, getName, getPriority, getPropertiesString, getProperty, getProperty, getPropertyChangeListeners, getSerial, interrupt, interrupt, interruptAll, interruptAll, interruptAll, interruptAllWithArgs, interruptAllWithArgs, isClearAddedPropertiesOnReset, isJustDefinedProperties, isPersistant, isReRunnable, isVerbose, parametersMatch, removePropertyChangeListener, removePropertyChangeListener, resetNextSerial, setClearAddedPropertiesOnReset, setEventList, setEventListID, setJustDefinedProperties, setName, setPersistant, setPriority, setProperty, setVerbose, waitDelay, waitDelay, waitDelay, waitDelay
addSimEventListener, getSimEventListeners, notifyListeners, removeSimEventListener
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
addSimEventListener, getSimEventListeners, notifyListeners, removeSimEventListener
public static final double EPSILON
public static final java.awt.geom.Point2D ZERO
protected java.util.Set<Mover> movers
protected java.util.Set<Sensor> sensors
private SensorMoverMediator defaultMediator
private java.util.HashMap<java.lang.Class<? extends Sensor>,java.util.HashMap<java.lang.Class<? extends Mover>,SensorMoverMediator>> mediators
public void reset()
reset
in interface ReRunnable
reset
in class BasicSimEntity
public void doRegisterMover(Mover mover)
mover
- Mover to be added as potential targetpublic void doRegisterSensor(Sensor sensor)
sensor
- The Sensor that can potentially detect targets in the
movers listpublic void doUnregisterMover(Mover mover)
mover
- The mover to be removed as potential targetpublic void doUnregisterSensor(Sensor sensor)
sensor
- The sensor to be removedpublic void doStartMove(Mover mover)
mover
- Heard from a Mover.public void doStartMove(Sensor sensor)
sensor
- Heard from a Sensorpublic void doStop(Mover mover)
mover
- Heard from a Mover.public void doStop(Sensor sensor)
sensor
- Heard from a Sensorpublic void doCheckSensor(Sensor sensor, java.util.Iterator<Mover> iter)
sensor
- The sensor to be checkediter
- Iterator<Mover> pointing to next Mover in moverspublic void doCheckMover(Mover mover, java.util.Iterator<Sensor> iter)
mover
- Given Moveriter
- Iterator over Sensorspublic void doEnterRange(Mover mover, Sensor sensor)
mover
- Mover that entered the rangesensor
- Sensor whose range was entered.public void doExitRange(Mover mover, Sensor sensor)
mover
- The Mover that exited the range of the sensorsensor
- The Sensor whose range was exitedpublic void addMediator(java.lang.Class<? extends Sensor> sensorClass, java.lang.Class<? extends Mover> moverClass, SensorMoverMediator mediator)
sensorClass
- The Class object for the SensormoverClass
- The Class object for the Movermediator
- The Mediator instance to be used to adjudicate between
Sensors of the given class and Movers of the given class.public java.lang.String toString()
BasicSimEntity
toString
in class BasicSimEntity
public java.util.Set<Mover> getMovers()
public java.util.Set<Sensor> getSensors()
public java.util.HashMap<java.lang.Class<? extends Sensor>,java.util.HashMap<java.lang.Class<? extends Mover>,SensorMoverMediator>> getMediators()
public void setMediators(java.util.HashMap<java.lang.Class<? extends Sensor>,java.util.HashMap<java.lang.Class<? extends Mover>,SensorMoverMediator>> mediators)
mediators
- the mediators to setpublic SensorMoverMediator getDefaultMediator()
public void setDefaultMediator(SensorMoverMediator defaultMediator)
defaultMediator
- the defaultMediator to set