ptolemy.domains.csp.lib
Class CSPMultiSource
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.domains.csp.kernel.CSPActor
ptolemy.domains.csp.lib.CSPMultiSource
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, BranchActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
public class CSPMultiSource
- extends CSPActor
A CSPMultiSource actor produces tokens through an output channel
via a continuous do (CDO) construct. The tokenLimit parameter
specifies how many tokens are produced by this actor. If the value
of tokenLimit is a nonnegative integer, then the actor produces
that many tokens. If the value is negative, then the actor produces
tokens indefinitely. The default value of tokenLimit is -1.
- Since:
- Ptolemy II 0.2
- Version:
- $Id: CSPMultiSource.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- Neil Smyth
- See Also:
CSPActor
,
ConditionalBranch
,
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 |
CSPMultiSource()
Construct a CSPMultiSource in the default workspace with an
empty string as its name. |
CSPMultiSource(TypedCompositeActor container,
java.lang.String name,
int limit)
Construct a CSPMultiSource with the specified container and
name. |
Method Summary |
void |
fire()
Execute this actor by producing IntTokens on the output port. |
boolean |
postfire()
Return false indicating that iteration of this actor should
not continue. |
void |
wrapup()
Discontinue the execution of this actor. |
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, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire |
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 |
output
public TypedIOPort output
- This actor's output port.
tokenLimit
public Parameter tokenLimit
- The number of tokens produced by this actor. If this limit
is set to -1, then produce output tokens indefinitely. The
default value of this parameter is -1.
_branchCount
private int[] _branchCount
CSPMultiSource
public CSPMultiSource()
throws IllegalActionException,
NameDuplicationException
- Construct a CSPMultiSource in the default workspace with an
empty string as its name. The actor is created with a single
input port named "input". The number of tokens produced by this
actor is specified by the tokenLimit parameter. The actor will
produce N = tokenLimit tokens unless tokenLimit < 0 in which case
this actor will produce tokens indefinitely.
- Throws:
IllegalActionException
- If the tokenLimit parameter
cannot be contained by this actor.
NameDuplicationException
- If the tokenLimit parameter
name coincides with a port already in this actor.
CSPMultiSource
public CSPMultiSource(TypedCompositeActor container,
java.lang.String name,
int limit)
throws IllegalActionException,
NameDuplicationException
- Construct a CSPMultiSource with the specified container and
name. The actor is created with a single input port named
"input". The name of the actor must be unique within the
container or a NameDuplicationException is thrown. The
container argument must not be null, or a NullPointerException
will be thrown. The number of tokens produced by this actor is
specified by the tokenLimit parameter. The actor will produce
N = tokenLimit tokens unless tokenLimit < 0 in which case this
actor will produce tokens indefinitely.
- Parameters:
container
- The container of this actor.name
- The name of this actor.limit
- The number of tokens produced by this actor.
- Throws:
IllegalActionException
- If the port or tokenLimit
parameter cannot be contained by this actor.
NameDuplicationException
- If the port or tokenLimit
parameter name coincides with a port or parameter already
in this actor.
fire
public void fire()
throws IllegalActionException
- Execute this actor by producing IntTokens on the output port.
If the tokenCount was not set to a nonnegative, integer value,
then produce output tokens indefinitely. Otherwise, produce
N output tokens for N = tokenCount.
- Specified by:
fire
in interface Executable
- Overrides:
fire
in class AtomicActor
- Throws:
IllegalActionException
- If thrown by the superclass.
postfire
public boolean postfire()
- Return false indicating that iteration of this actor should
not continue.
- Specified by:
postfire
in interface Executable
- Overrides:
postfire
in class CSPActor
- Returns:
- false Indicating that iteration of this actor should
should not continue.
wrapup
public void wrapup()
- Discontinue the execution of this actor.
- Specified by:
wrapup
in interface Initializable
- Overrides:
wrapup
in class AtomicActor