|
|||||||||
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.kernel.CompositeEntity
ptolemy.actor.CompositeActor
ptolemy.actor.TypedCompositeActor
ptolemy.actor.lib.hoc.MultiCompositeActor
ptolemy.actor.lib.hoc.Case
public class Case
An actor that executes one of several refinements depending on the value provided by the control port-parameter. To use this, look inside, add refinement cases, and populate them with computations. Each refinement is a composite that is required to have its own director. The name of the refinement is value that the control must have to execute this refinement. This actor always provides one case called "default". This is the refinement that is executed if no other refinement matches the control input. All refinements have the same ports, and adding ports to any one refinement or to the case actor itself results in identical ports being added to all refinements.
Red (reviewmoderator) |
Yellow (eal) |
Nested Class Summary |
---|
Nested classes/interfaces inherited from class ptolemy.kernel.CompositeEntity |
---|
CompositeEntity.ContainedObjectsIterator |
Field Summary | |
---|---|
protected Refinement |
_current
The current refinement. |
protected Refinement |
_default
The default refinement. |
protected CaseDirector |
_director
The director. |
PortParameter |
control
The input port-parameter on which the control token is provided. |
Fields inherited from class ptolemy.actor.CompositeActor |
---|
_actorFiringListeners, _causalityInterface, _initializables, _notifyingActorFiring, _publishedPorts, _publisherRelations, _stopRequested |
Fields inherited from class ptolemy.kernel.CompositeEntity |
---|
_levelCrossingLinks |
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 | |
---|---|
Case(CompositeEntity container,
java.lang.String name)
Construct a modal model with a name and a container. |
|
Case(Workspace workspace)
Construct a Case in the specified workspace with no container and an empty string as a name. |
Method Summary | |
---|---|
protected void |
_addEntity(ComponentEntity entity)
Override the base class to ensure that the default refinement remains last. |
protected CaseDirector |
_createDirector()
Create a director. |
private void |
_init()
Initialize the class. |
java.lang.Object |
clone(Workspace workspace)
Override the base class to ensure that the _default member points to the default refinement. |
void |
fire()
Override the base class to not read inputs, since this has been done in prefire(). |
Refinement |
getCurrentRefinement()
Return the current refinement, or null if prefire() has not yet been invoked. |
Refinement |
newRefinement(java.lang.String name)
Create a new refinement with the specified name. |
java.lang.String |
refinementClassName()
Return the class name for refinements that this Case actor expects to contain. |
Methods inherited from class ptolemy.actor.lib.hoc.MultiCompositeActor |
---|
newPort |
Methods inherited from class ptolemy.actor.TypedCompositeActor |
---|
_addPort, _addRelation, _checkTypesFromTo, _typeConstraintsFromTo, newRelation, resolveTypes, typeConstraintList, typeConstraints |
Methods inherited from class ptolemy.kernel.ComponentEntity |
---|
_checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName |
Methods inherited from class ptolemy.kernel.Entity |
---|
_removePort, connectedPortList, connectedPorts, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts |
Methods inherited from class ptolemy.kernel.InstantiableNamedObj |
---|
_setParent, 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, 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 |
Methods inherited from interface ptolemy.kernel.util.Derivable |
---|
getDerivedLevel, getDerivedList, propagateValue |
Field Detail |
---|
public PortParameter control
protected Refinement _current
protected Refinement _default
protected CaseDirector _director
Constructor Detail |
---|
public Case(CompositeEntity container, java.lang.String name) throws IllegalActionException, NameDuplicationException
container
- The container.name
- The name of this actor.
IllegalActionException
- If the container is incompatible
with this actor.
NameDuplicationException
- If the name coincides with
an actor already in the container.public Case(Workspace workspace) throws IllegalActionException, NameDuplicationException
workspace
- The workspace that will list the actor.
IllegalActionException
- If the name has a period in it, or
the director is not compatible with the specified container.
NameDuplicationException
- If the container already contains
an entity with the specified name.Method Detail |
---|
public java.lang.Object clone(Workspace workspace) throws java.lang.CloneNotSupportedException
clone
in class CompositeActor
workspace
- The workspace for the new object.
java.lang.CloneNotSupportedException
- If any of the attributes
cannot be cloned.NamedObj.exportMoML(Writer, int, String)
,
NamedObj.setDeferringChangeRequests(boolean)
public Refinement getCurrentRefinement()
public void fire() throws IllegalActionException
fire
in interface Executable
fire
in class CompositeActor
IllegalActionException
- If there is no director, or if
the director's fire() method throws it, or if the actor is not
opaque.public Refinement newRefinement(java.lang.String name) throws IllegalActionException, NameDuplicationException
name
- The name of the refinement.
IllegalActionException
- If the refinement cannot be created.
NameDuplicationException
- If a refinement already
exists with this name.public java.lang.String refinementClassName()
protected void _addEntity(ComponentEntity entity) throws IllegalActionException, NameDuplicationException
_addEntity
in class TypedCompositeActor
entity
- TypedActor to contain.
IllegalActionException
- If the entity has no name, or the
action would result in a recursive containment structure.
NameDuplicationException
- If the name collides with a name
already in the entity.protected CaseDirector _createDirector() throws IllegalActionException, NameDuplicationException
IllegalActionException
- If the director cannot be created.
NameDuplicationException
- If there is already an
attribute with the name "_director".private void _init() throws IllegalActionException, NameDuplicationException
IllegalActionException
NameDuplicationException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |