ptolemy.backtrack.automatic.ptolemy.actor.lib
Class Multiplexor
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.backtrack.automatic.ptolemy.actor.lib.Multiplexor
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Rollbackable, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
public class Multiplexor
- extends Transformer
- implements Rollbackable
This actor selects from the channels on the
input port, copying the input from one channel to the output,
based on the most recently received value on the select input.
If the selected channel has no token, then no output is produced.
The select input is required to be an integer between 0 and
n-1, where n is the width of the input port.
If no token has been received on the select port, then channel
0 is sent to the output. The input port may
receive Tokens of any type, but all channels must have the same type.
One token is consumed from each input channel that has a token.
Compare this with the Select actor, which only consumes a token on
the selected channel.
- Since:
- Ptolemy II 1.0
- Version:
- $Id: Multiplexor.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- Jeff Tsay and Edward A. Lee
- See Also:
Select
,
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 |
Multiplexor(CompositeEntity container,
java.lang.String name)
Construct an actor in the specified container with the specified
name. |
Method Summary |
private int |
$ASSIGN$_channel(int newValue)
|
void |
$COMMIT(long timestamp)
Commit changes up to the given timestamp, but not including changes
made at timestamp and afterward. |
Checkpoint |
$GET$CHECKPOINT()
Get the checkpoint object that monitors this rollbackable object. |
void |
$RESTORE(long timestamp,
boolean trim)
Restore a previous state to all the private fields of this rollbackable
object. |
java.lang.Object |
$SET$CHECKPOINT(Checkpoint checkpoint)
Set the checkpoint object of this rollbackable object. |
void |
fire()
Read a token from the select port and from each channel
of the input port, and output a token on the selected
channel. |
void |
initialize()
Initialize to the default, which is to use channel zero. |
Methods inherited from class ptolemy.actor.AtomicActor |
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, clone, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, 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 |
_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 |
$CHECKPOINT
protected transient Checkpoint $CHECKPOINT
select
public TypedIOPort select
- Input for the index of the port to select. The type is IntToken.
_channel
private int _channel
- The most recently read select input.
$RECORD$$CHECKPOINT
protected transient CheckpointRecord $RECORD$$CHECKPOINT
$RECORD$_channel
private transient FieldRecord $RECORD$_channel
$RECORDS
private transient FieldRecord[] $RECORDS
Multiplexor
public Multiplexor(CompositeEntity container,
java.lang.String name)
throws IllegalActionException,
NameDuplicationException
- Construct an actor in the specified container with the specified
name.
- Parameters:
container
- The container.name
- The name of this actor within the container.
- Throws:
IllegalActionException
- If the actor cannot be contained
by the proposed container.
NameDuplicationException
- If the name coincides with
an actor already in the container.
fire
public void fire()
throws IllegalActionException
- Read a token from the select port and from each channel
of the input port, and output a token on the selected
channel. This method will throw a NoTokenException if any
input channel does not have a token.
- Specified by:
fire
in interface Executable
- Overrides:
fire
in class AtomicActor
- Throws:
IllegalActionException
- If there is no director, or if
the select input is out of range.
initialize
public void initialize()
- Initialize to the default, which is to use channel zero.
- Specified by:
initialize
in interface Initializable
- Overrides:
initialize
in class AtomicActor
$ASSIGN$_channel
private final int $ASSIGN$_channel(int newValue)
$COMMIT
public void $COMMIT(long timestamp)
- Description copied from interface:
Rollbackable
- Commit changes up to the given timestamp, but not including changes
made at timestamp and afterward.
- Specified by:
$COMMIT
in interface Rollbackable
- Parameters:
timestamp
- The timestamp.
$RESTORE
public void $RESTORE(long timestamp,
boolean trim)
- Description copied from interface:
Rollbackable
- Restore a previous state to all the private fields of this rollbackable
object.
- Specified by:
$RESTORE
in interface Rollbackable
- Parameters:
timestamp
- The timestamp taken at the time when the previous
state was recorded.trim
- Whether to delete the records used for the rollback.- See Also:
Checkpoint.rollback(long, boolean)
$GET$CHECKPOINT
public final Checkpoint $GET$CHECKPOINT()
- Description copied from interface:
Rollbackable
- Get the checkpoint object that monitors this rollbackable object.
- Specified by:
$GET$CHECKPOINT
in interface Rollbackable
- Returns:
- The checkpoint object.
$SET$CHECKPOINT
public final java.lang.Object $SET$CHECKPOINT(Checkpoint checkpoint)
- Description copied from interface:
Rollbackable
- Set the checkpoint object of this rollbackable object. A merge
operation is performed on the current checkpoint object and the new
checkpoint object, so that the two checkpoint objects monitor the same
set of objects when this function returns.
- Specified by:
$SET$CHECKPOINT
in interface Rollbackable
- Parameters:
checkpoint
- The new checkpoint object.
- Returns:
- This rollbackable object itself.
- See Also:
Checkpoint.setCheckpoint(Checkpoint)