ptolemy.actor.lib
Class VariableSleep
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.actor.lib.Transformer
ptolemy.actor.lib.VariableSleep
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
public class VariableSleep
- extends Transformer
An actor that calls Thread.sleep() on the current thread the first
time fire() is called. The sleep delays the inputs for a certain
amount of real time, specified by the sleepTime input.
Note that one way to slow down the execution of a model while running
inside vergil is to turn on animation.
If the width of the output port is less than that of the input port,
the tokens in the extra channels are lost.
- Since:
- Ptolemy II 1.0
- Version:
- $Id: VariableSleep.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- Yang Zhao, based on Sleep by Jie Liu, Christopher Hylands
- See Also:
- Serialized Form
- Accepted Rating:
- Proposed Rating:
Fields inherited from class ptolemy.kernel.util.NamedObj |
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Method Summary |
void |
fire()
Call Thread.sleep() the first time fire is called and then
transfer tokens from inputs to outputs, one token from each
channel. |
boolean |
postfire()
Reset the flag that fire() checks so that fire() only sleeps once. |
boolean |
prefire()
Reset the flag that fire() checks so that fire() only sleeps once. |
Methods inherited from class ptolemy.actor.AtomicActor |
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, clone, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, initialize, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate, wrapup |
Methods inherited from class ptolemy.kernel.ComponentEntity |
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName |
Methods inherited from class ptolemy.kernel.Entity |
_description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName |
Methods inherited from class ptolemy.kernel.util.NamedObj |
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _recordDecoratedAttributes, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, attributeChanged, attributeList, attributeList, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, propagateValue, propagateValues, removeChangeListener, removeDebugListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
defaultSleepTime
public Parameter defaultSleepTime
- The sleepTime amount, in milliseconds
This parameter must contain a LongToken.
The default value of this parameter is 0, meaning
that this actor will not sleep the current thread at all.
sleepTime
public TypedIOPort sleepTime
- An input port receives the value of sleep time.
_wasSleepCalledInFireYet
private boolean _wasSleepCalledInFireYet
_sleepTime
private long _sleepTime
VariableSleep
public VariableSleep(CompositeEntity container,
java.lang.String name)
throws NameDuplicationException,
IllegalActionException
- Construct an actor with the given container and name.
- Parameters:
container
- The container.name
- The name of this actor.
- Throws:
IllegalActionException
- If the actor cannot be contained
by the proposed container.
NameDuplicationException
- If the container already has an
actor with this name.
fire
public void fire()
throws IllegalActionException
- Call Thread.sleep() the first time fire is called and then
transfer tokens from inputs to outputs, one token from each
channel. If fire() is called twice in a row without an
intervening call to either postfire() or prefire(), then no
output is produced.
If the width of the output port is less than
that of the input port, the tokens in the extra channels
are lost.
- Specified by:
fire
in interface Executable
- Overrides:
fire
in class AtomicActor
- Throws:
IllegalActionException
- Not thrown in this base class
postfire
public boolean postfire()
throws IllegalActionException
- Reset the flag that fire() checks so that fire() only sleeps once.
- Specified by:
postfire
in interface Executable
- Overrides:
postfire
in class AtomicActor
- Returns:
- Whatever the superclass returns (probably true).
- Throws:
IllegalActionException
- If the parent class throws it.
prefire
public boolean prefire()
throws IllegalActionException
- Reset the flag that fire() checks so that fire() only sleeps once.
- Specified by:
prefire
in interface Executable
- Overrides:
prefire
in class AtomicActor
- Returns:
- Whatever the superclass returns (probably true).
- Throws:
IllegalActionException
- If the parent class throws it.