|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.domains.ddf.lib.DDFBooleanSelect
public class DDFBooleanSelect
A type polymorphic select with boolean valued control for use in the DDF domain. In the first iteration, an input token at the control port is read and its value is noted. In the second iteration, if the control input read from the previous iteration is true, then an input token at the trueInput port is read and sent to the output. Likewise with a false control input and the falseInput port. It alternates between these two kinds of iterations until stopped. The control port must receive Boolean Tokens. The trueInput and falseInput ports may receive Tokens of any type. Because tokens are immutable, the same Token is sent to the output, rather than a copy.
Note this actor sends an output token every two iterations. Contrast this with BooleanSelect which sends an output token every iteration.
Yellow (cxh) |
Yellow (zgang) |
Nested Class Summary |
---|
Nested classes/interfaces inherited from class ptolemy.kernel.Entity |
---|
Entity.ContainedObjectsIterator |
Field Summary | |
---|---|
private boolean |
_control
The most recently read control token. |
private boolean |
_isControlRead
The boolean to determine whether to read from the control port or the trueInput/falseInput port. |
private static IntToken |
_one
A final static IntToken with value 1. |
private static IntToken |
_zero
A final static IntToken with value 0. |
TypedIOPort |
control
Input that selects one of the other input ports. |
Parameter |
control_tokenConsumptionRate
This parameter provides token consumption rate for control. |
TypedIOPort |
falseInput
Input for tokens on the false path. |
Parameter |
falseInput_tokenConsumptionRate
This parameter provides token consumption rate for falseInput. |
TypedIOPort |
output
The output port. |
TypedIOPort |
trueInput
Input for tokens on the true path. |
Parameter |
trueInput_tokenConsumptionRate
This parameter provides token consumption rate for trueInput. |
Fields inherited from class ptolemy.actor.AtomicActor |
---|
_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested |
Fields inherited from class ptolemy.kernel.util.NamedObj |
---|
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Fields inherited from interface ptolemy.actor.Executable |
---|
COMPLETED, NOT_READY, STOP_ITERATING |
Constructor Summary | |
---|---|
DDFBooleanSelect(CompositeEntity container,
java.lang.String name)
Construct an actor in the specified container with the specified name. |
Method Summary | |
---|---|
java.lang.Object |
clone(Workspace workspace)
Clone the actor into the specified workspace. |
void |
fire()
Fire the actor once. |
void |
initialize()
Initialize this actor and the rate parameters so that it will read from the control port in the first iteration. |
boolean |
postfire()
Update rate parameters for the next iteration. |
boolean |
prefire()
Return false if the port to read from in the current iteration does not have a token. |
Methods inherited from class ptolemy.actor.TypedAtomicActor |
---|
_addPort, _fireAt, _fireAt, attributeTypeChanged, clone, newPort, typeConstraintList, typeConstraints |
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.InstantiableNamedObj |
---|
_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface ptolemy.actor.Actor |
---|
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList |
Methods inherited from interface ptolemy.actor.Executable |
---|
isFireFunctional, isStrict, iterate, stop, stopFire, terminate |
Methods inherited from interface ptolemy.actor.Initializable |
---|
addInitializable, preinitialize, removeInitializable, wrapup |
Methods inherited from interface ptolemy.kernel.util.Nameable |
---|
description, getContainer, getDisplayName, getFullName, getName, getName, setName |
Methods inherited from interface ptolemy.kernel.util.Derivable |
---|
getDerivedLevel, getDerivedList, propagateValue |
Field Detail |
---|
public TypedIOPort trueInput
public TypedIOPort falseInput
public TypedIOPort control
public TypedIOPort output
public Parameter trueInput_tokenConsumptionRate
public Parameter falseInput_tokenConsumptionRate
public Parameter control_tokenConsumptionRate
private boolean _control
private boolean _isControlRead
private static final IntToken _zero
private static final IntToken _one
Constructor Detail |
---|
public DDFBooleanSelect(CompositeEntity container, java.lang.String name) throws IllegalActionException, NameDuplicationException
container
- The container.name
- The name of this actor within the container.
IllegalActionException
- If the actor cannot be contained
by the proposed container.
NameDuplicationException
- If the name coincides with
an actor already in the container.Method Detail |
---|
public java.lang.Object clone(Workspace workspace) throws java.lang.CloneNotSupportedException
clone
in class AtomicActor
workspace
- The workspace for the new object.
java.lang.CloneNotSupportedException
- If a derived class has
an attribute that cannot be cloned.NamedObj.exportMoML(Writer, int, String)
,
NamedObj.setDeferringChangeRequests(boolean)
public void fire() throws IllegalActionException
fire
in interface Executable
fire
in class AtomicActor
IllegalActionException
- If there is no director, and hence
no receivers have been created.public void initialize() throws IllegalActionException
initialize
in interface Initializable
initialize
in class AtomicActor
IllegalActionException
- If setToken() throws it.public boolean postfire() throws IllegalActionException
postfire
in interface Executable
postfire
in class AtomicActor
IllegalActionException
- If setToken() throws it.public boolean prefire() throws IllegalActionException
prefire
in interface Executable
prefire
in class AtomicActor
IllegalActionException
- If the receivers do not support
the query, or if there is no director, and hence no receivers.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |