Package ptolemy.domains.sequence.kernel
Class ControlActor
- java.lang.Object
-
- ptolemy.kernel.util.NamedObj
-
- ptolemy.kernel.InstantiableNamedObj
-
- ptolemy.kernel.Entity<T>
-
- ptolemy.kernel.ComponentEntity<T>
-
- ptolemy.actor.AtomicActor<TypedIOPort>
-
- ptolemy.actor.TypedAtomicActor
-
- ptolemy.domains.sequence.kernel.ControlActor
-
- All Implemented Interfaces:
java.lang.Cloneable
,Actor
,Executable
,FiringsRecordable
,Initializable
,TypedActor
,Changeable
,Debuggable
,DebugListener
,Derivable
,Instantiable
,ModelErrorHandler
,MoMLExportable
,Moveable
,Nameable
- Direct Known Subclasses:
Break
,IfThen
,IfThenElse
public class ControlActor extends TypedAtomicActor
An AtomicActor that handles some sort of control flow. Examples of ControlActors include IfThen, IfThenElse, and Break. Control Actors are responsible for setting the list of output ports that are currently enabled (enabledOutports). FIXME: What to do about Ptolemy control actors? FIXME: Should this be a class, or an interface? Has a new variable for holding control flow information.- Since:
- Ptolemy II 10.0
- Version:
- $Id$
- Author:
- Elizabeth Latronico (Bosch)
- Pt.AcceptedRating:
- Red (beth)
- Pt.ProposedRating:
- Red (beth)
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class ptolemy.kernel.Entity
Entity.ContainedObjectsIterator
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.ArrayList<TypedIOPort>
_enabledOutports
Returns a list of 0 or more output ports that are currently enabled.-
Fields inherited from class ptolemy.actor.TypedAtomicActor
_typesValid
-
Fields inherited from class ptolemy.actor.AtomicActor
_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested
-
Fields inherited from class ptolemy.kernel.util.NamedObj
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _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
Constructors Constructor Description ControlActor()
Construct an actor in the default workspace with an empty string as its name.ControlActor(CompositeEntity container, java.lang.String name)
Create a new actor in the specified container with the specified name.ControlActor(Workspace workspace)
Construct an actor in the specified workspace with an empty string as a name.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
addEnabledOutport(TypedIOPort port)
Add a port to the list of enabled output ports.protected void
clearEnabledOutports()
Clear the list of enabled output ports.java.util.ArrayList<TypedIOPort>
getDisabledOutports()
Return the (possibly empty) list of disabled output ports.java.util.ArrayList<TypedIOPort>
getEnabledOutports()
Return the (possibly empty) list of enabled output ports.boolean
hasEnabledOutports()
Return true if there is at least one enabled output port, false otherwise.protected boolean
setEnabledOutports(java.util.List<TypedIOPort> ports)
Set the list of enabled output ports.-
Methods inherited from class ptolemy.actor.TypedAtomicActor
_containedTypeConstraints, _customTypeConstraints, _defaultTypeConstraints, _fireAt, _fireAt, attributeTypeChanged, clone, clone, isBackwardTypeInferenceEnabled, newPort, typeConstraintList, typeConstraints
-
Methods inherited from class ptolemy.actor.AtomicActor
_actorFiring, _actorFiring, _declareDelayDependency, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, fire, getCausalityInterface, getDirector, getExecutiveDirector, getManager, initialize, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, postfire, prefire, 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
_addPort, _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 ptolemy.kernel.util.NamedObj
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _executeChangeRequests, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, addHierarchyListener, attributeChanged, attributeDeleted, attributeList, attributeList, decorators, 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, notifyOfNameChange, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, 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
-
Methods inherited from interface ptolemy.actor.Actor
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
-
Methods inherited from interface ptolemy.kernel.util.Derivable
getDerivedLevel, getDerivedList, propagateValue
-
Methods inherited from interface ptolemy.actor.Executable
fire, isFireFunctional, isStrict, iterate, postfire, prefire, stop, stopFire, terminate
-
Methods inherited from interface ptolemy.actor.Initializable
addInitializable, initialize, preinitialize, removeInitializable, wrapup
-
Methods inherited from interface ptolemy.kernel.util.Nameable
description, getContainer, getDisplayName, getFullName, getName, getName, setName
-
-
-
-
Field Detail
-
_enabledOutports
protected java.util.ArrayList<TypedIOPort> _enabledOutports
Returns a list of 0 or more output ports that are currently enabled. An 'enabled' output port means that actors connected to this port should be executed.
-
-
Constructor Detail
-
ControlActor
public ControlActor()
Construct an actor in the default workspace with an empty string as its name. The object is added to the workspace directory. Increment the version number of the workspace.
-
ControlActor
public ControlActor(Workspace workspace)
Construct an actor in the specified workspace with an empty string as a name. You can then change the name with setName(). If the workspace argument is null, then use the default workspace. The object is added to the workspace directory. Increment the version number of the workspace.- Parameters:
workspace
- The workspace that will list the entity.
-
ControlActor
public ControlActor(CompositeEntity container, java.lang.String name) throws IllegalActionException, NameDuplicationException
Create a new actor in the specified container with the specified name. The name must be unique within the container or an exception is thrown. The container argument must not be null, or a NullPointerException will be thrown.- Parameters:
container
- The container.name
- The name of this actor within the container.- Throws:
IllegalActionException
- If this actor cannot be contained by the proposed container (see the setContainer() method).NameDuplicationException
- If the name coincides with an entity already in the container.
-
-
Method Detail
-
getEnabledOutports
public java.util.ArrayList<TypedIOPort> getEnabledOutports()
Return the (possibly empty) list of enabled output ports.- Returns:
- The (possible empty) list of enabled output ports
- See Also:
setEnabledOutports(List)
-
getDisabledOutports
public java.util.ArrayList<TypedIOPort> getDisabledOutports()
Return the (possibly empty) list of disabled output ports.- Returns:
- The (possible empty) list of disabled output ports.
-
hasEnabledOutports
public boolean hasEnabledOutports()
Return true if there is at least one enabled output port, false otherwise.- Returns:
- True if at least one output port is enabled.
-
setEnabledOutports
protected boolean setEnabledOutports(java.util.List<TypedIOPort> ports)
Set the list of enabled output ports. Used by subclasses. Returns true if successful, and false if there was a problem (for example, if a port is not an output port). If unsuccessful, the list of output ports is cleared.- Parameters:
ports
- List of output ports- Returns:
- True if operation was successful; false otherwise
- See Also:
getEnabledOutports()
-
addEnabledOutport
protected boolean addEnabledOutport(TypedIOPort port)
Add a port to the list of enabled output ports. Used by subclasses. Returns true if successful, and false if there was a problem (for example, if a port is not an output port). If unsuccessful, the list of output ports is unchanged.- Parameters:
port
- Output port- Returns:
- True if operation was successful; false otherwise
-
clearEnabledOutports
protected void clearEnabledOutports()
Clear the list of enabled output ports. Used by subclasses.
-
-