ptolemy.domains.de.lib
Class VariableDelay
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.domains.de.kernel.DEActor
ptolemy.domains.de.lib.DETransformer
ptolemy.domains.de.lib.TimedDelay
ptolemy.domains.de.lib.VariableDelay
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, SequenceActor, TimedActor, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
public class VariableDelay
- extends TimedDelay
This actor delays its inputs by a variable delay.
It works in a similar way as the TimedDelay actor except that the
amount of time delayed is specified by an incoming token through
the delay port (a parameter port).
- Since:
- Ptolemy II 1.0
- Version:
- $Id: VariableDelay.java 57046 2010-01-27 23:35:53Z cxh $
- Author:
- Jie Liu, Haiyang Zheng
- See Also:
TimedDelay
,
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 |
Constructor Summary |
VariableDelay(CompositeEntity container,
java.lang.String name)
Construct an actor with the specified container and name. |
Method Summary |
protected void |
_init()
Override the method of the super class to initialize the
parameter values. |
void |
fire()
Update the delay parameter from the delay port and ensure the delay
is not negative. |
void |
preinitialize()
Override the base class to declare that the output
does not depend on the delay port in a firing. |
Methods inherited from class ptolemy.actor.AtomicActor |
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, prefire, 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, 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 |
delay
public PortParameter delay
- The amount specifying delay. Its default value is 1.0.
VariableDelay
public VariableDelay(CompositeEntity container,
java.lang.String name)
throws NameDuplicationException,
IllegalActionException
- Construct an actor with the specified container and name.
- Parameters:
container
- The composite entity to contain this one.name
- The name of this actor.
- Throws:
IllegalActionException
- If the entity cannot be contained
by the proposed container.
NameDuplicationException
- If the container already has an
actor with this name.
fire
public void fire()
throws IllegalActionException
- Update the delay parameter from the delay port and ensure the delay
is not negative. Call the fire method of super class to consume
inputs and generate outputs.
- Specified by:
fire
in interface Executable
- Overrides:
fire
in class TimedDelay
- Throws:
IllegalActionException
- If the super class throws it,
or a negative delay is received.
preinitialize
public void preinitialize()
throws IllegalActionException
- Override the base class to declare that the output
does not depend on the delay port in a firing.
- Specified by:
preinitialize
in interface Initializable
- Overrides:
preinitialize
in class TimedDelay
- Throws:
IllegalActionException
- If the superclass throws it.
_init
protected void _init()
throws NameDuplicationException,
IllegalActionException
- Override the method of the super class to initialize the
parameter values.
- Overrides:
_init
in class TimedDelay
- Throws:
NameDuplicationException
- If there already is a parameter
named "delay".
IllegalActionException
- If delay parameter cannot be set.