Package jsl.modeling.elements.entity
Class TwoWayByChanceEntitySender
- java.lang.Object
-
- jsl.simulation.ModelElement
-
- jsl.simulation.SchedulingElement
-
- jsl.modeling.elements.entity.EntityReceiver
-
- jsl.modeling.elements.entity.TwoWayByChanceEntitySender
-
- All Implemented Interfaces:
GetEntityReceiverIfc
,ObservableIfc
,GetNameIfc
,IdentityIfc
public class TwoWayByChanceEntitySender extends EntityReceiver
This class will probabilistically route to one of two EntityReceiverAbstracts with probability p to the first EntityReceiverAbstract. If a time is supplied it is used for the transfer
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class jsl.simulation.ModelElement
ModelElement.EventBuilderIfc<T>, ModelElement.EventScheduler<T>, ModelElement.ModelElementComparator, ModelElement.RequestBuilder, ModelElement.RequestDurationIfc, ModelElement.RequestTimeIfc, ModelElement.RequestUsingIfc, ModelElement.TimedUpdateEventAction, ModelElement.TimeUnitIfc<T>, ModelElement.WarmUpEventAction
-
-
Field Summary
-
Fields inherited from class jsl.modeling.elements.entity.EntityReceiver
myComposite, myDirectEntityReceiver, myNumInReceiver, mySender, mySendOption, myTimeInReceiver
-
Fields inherited from class jsl.simulation.ModelElement
AFTER_EXPERIMENT, AFTER_REPLICATION, BEFORE_EXPERIMENT, BEFORE_REPLICATION, CONDITIONAL_ACTION_REGISTRATION, DEFAULT_TIMED_EVENT_PRIORITY, INITIALIZED, MONTE_CARLO, myAfterExperimentOption, myAfterReplicationOption, myBeforeExperimentOption, myBeforeReplicationOption, myInitializationOption, myLengthOfWarmUp, myModelElements, myMonteCarloOption, myObservableComponent, myReplicationEndedOption, myTimedUpdateActionListener, myTimedUpdateEvent, myTimedUpdateInterval, myTimedUpdateOption, myTimedUpdatePriority, myWarmUpActionListener, myWarmUpEvent, myWarmUpIndicator, myWarmUpOption, myWarmUpPriority, NONE, REMOVED_FROM_MODEL, REPLICATION_ENDED, TIME_UNIT_DAY, TIME_UNIT_HOUR, TIME_UNIT_MILLISECOND, TIME_UNIT_MINUTE, TIME_UNIT_SECOND, TIME_UNIT_WEEK, TIMED_UPDATE, UPDATE, WARMUP
-
-
Constructor Summary
Constructors Constructor Description TwoWayByChanceEntitySender(ModelElement parent, double p, GetEntityReceiverIfc r1, GetEntityReceiverIfc r2)
TwoWayByChanceEntitySender(ModelElement parent, java.lang.String name, double p, GetEntityReceiverIfc r1, GetEntityReceiverIfc r2, RandomIfc time)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
receive(Entity entity)
Represents logic to correctly receive the entity and process it accordinglyvoid
setFirstReceiver(GetEntityReceiverIfc r1)
void
setSecondReceiver(GetEntityReceiverIfc r2)
void
setTransferTime(double time)
Sets the transfer timevoid
setTransferTime(RandomIfc time)
If the supplied value is null, then zero is used for the time-
Methods inherited from class jsl.modeling.elements.entity.EntityReceiver
getComposite, getDirectEntityReceiver, getEntityReceiver, isPartOfComposite, sendEntity, setComposite, setDirectEntityReceiver, setDirectEntityReceiver, setEntitySender, setSendingOption, turnOnNumberInReceiverCollection, turnOnTimeInReceiverCollection
-
Methods inherited from class jsl.simulation.SchedulingElement
cancelEvent, rescheduleEvent, rescheduleEvent, rescheduleEvent, rescheduleEvent, scheduleEvent, scheduleEvent, scheduleEvent, scheduleEvent, scheduleEvent, scheduleEvent, scheduleEvent, scheduleEvent, scheduleEvent, scheduleEvent
-
Methods inherited from class jsl.simulation.ModelElement
addObserver, addObserverToModelElements, afterExperiment, afterExperiment_, afterReplication, afterReplication_, asString, beforeExperiment, beforeExperiment_, beforeReplication, beforeReplication_, buildEventGenerator, cancelTimedUpdateEvent, cancelWarmUpEvent, changeParentModelElement, checkForAfterExperiment, checkForAfterReplication, checkForBeforeExperiment, checkForBeforeReplication, checkForConditionalActionRegistration, checkForInitialize, checkForMonteCarlo, checkForRemoveFromModel, checkForReplicationEnded, checkForTimedUpdate, checkForUpdate, checkForWarmUp, checkObserverState, checkWarmUpOption, clearModelElementObservers, contains, countObservers, createEntity, createEntity, createQObject, day, deleteObserver, deleteObserverFromModelElements, deleteObservers, findModelElementWithWarmUpEvent, getAfterExperimentOption, getAfterReplicationOption, getAllCounters, getAllModelElements, getAllRandomElements, getAllResponseVariables, getAllVariables, getBeforeExperimentOption, getBeforeReplicationOption, getChildModelElementIterator, getCurrentReplicationNumber, getDefaultEntityType, getExecutive, getExperiment, getId, getInitializationOption, getInitializationOrderAsString, getLeftPreOrderTraversalCount, getLengthOfWarmUp, getModel, getModelElementCompartor, getModelElementsAsString, getModelElementsAsString, getModelElementsAsString, getMonteCarloOption, getName, getNumberOfModelElements, getObserverState, getParentModelElement, getPreviousObserverState, getReplicationEndedOption, getRightPreOrderTraversalCount, getSimulation, getSpatialModel, getStringLabel, getThisElementsCounters, getThisElementsModelElements, getThisElementsRandomVariables, getThisElementsResponseVariables, getThisElementsVariables, getTime, getTimedUpdateInterval, getTimedUpdateOption, getUpdateNotificationFlag, getVariable, getWarmUpEventTime, getWarmUpOption, hour, indent, initialize, initialize_, isTimedUpdateEventScheduled, isWarmedUp, isWarmUpEventScheduled, isWarmUpScheduled, millisecond, minute, montecarlo, montecarlo_, notifyAfterExperimentObservers, notifyAfterReplicationObservers, notifyBeforeExperimentObservers, notifyBeforeReplicationObservers, notifyConditionalActionRegistrationObservers, notifyInitializationObservers, notifyMonteCarloObservers, notifyObservers, notifyObservers, notifyRemovingFromModelObservers, notifyReplicationEndedObservers, notifyTimedUpdateObservers, notifyUpdateObservers, notifyWarmUpObservers, registerConditionalActions, registerConditionalActions_, removedFromModel, removeFromModel, replicationEnded, replicationEnded_, schedule, second, seize, setAfterExperimentOption, setAfterExperimentOptionForModelElements, setAfterReplicationOption, setAfterReplicationOptionForModelElements, setBeforeExperimentOption, setBeforeExperimentOptionForModelElements, setBeforeReplicationOption, setBeforeReplicationOptionForModelElements, setInitializationOption, setInitializationOptionForModelElements, setLengthOfWarmUp, setModel, setMonteCarloOption, setMonteCarloOptionForModelElements, setName, setObserverState, setParentModelElement, setReplicationEndedOption, setReplicationEndedOptionForModelElements, setSpatialModel, setStringLabel, setTimedUpdateInterval, setTimedUpdateOption, setTimedUpdateOptionForModelElements, setUpdateNotificationFlag, setWarmUpOption, setWarmUpOptionForModelElements, stopExecutive, stopExecutive, timedUpdate, timedUpdate_, toString, update, useControls, warmUp, warmUp_, week
-
-
-
-
Constructor Detail
-
TwoWayByChanceEntitySender
public TwoWayByChanceEntitySender(ModelElement parent, double p, GetEntityReceiverIfc r1, GetEntityReceiverIfc r2)
-
TwoWayByChanceEntitySender
public TwoWayByChanceEntitySender(ModelElement parent, java.lang.String name, double p, GetEntityReceiverIfc r1, GetEntityReceiverIfc r2, RandomIfc time)
-
-
Method Detail
-
setTransferTime
public final void setTransferTime(double time)
Sets the transfer time- Parameters:
time
-
-
setTransferTime
public final void setTransferTime(RandomIfc time)
If the supplied value is null, then zero is used for the time- Parameters:
time
-
-
setFirstReceiver
public final void setFirstReceiver(GetEntityReceiverIfc r1)
-
setSecondReceiver
public final void setSecondReceiver(GetEntityReceiverIfc r2)
-
receive
protected final void receive(Entity entity)
Description copied from class:EntityReceiver
Represents logic to correctly receive the entity and process it accordingly- Specified by:
receive
in classEntityReceiver
-
-