public class ModalController extends FSMActor implements DropTargetHandler, RefinementActor
Note that this actor has no attributes of its own. Requests for attributes are delegated to the container.
| Red (reviewmoderator) |
| Red (eal) |
FSMActor.PortScopeCompositeEntity.ContainedObjectsIterator| Modifier and Type | Field and Description |
|---|---|
protected boolean |
_mirrorDisable
Indicator that we are processing a newPort request.
|
_currentState, _disabledRefinements, _initializables, _inputTokenMap, _lastChosenTransition, _lastChosenTransitions, _lastTakenTransitions, _stateRefinementsToPostfire, _stopRequested, errorCause, errorClass, errorMessage, finalStateNames, initialStateName, probability, resetOnEachRun, seed, stateDependentCausality, timeout_levelCrossingLinks_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKSCOMPLETED, NOT_READY, STOP_ITERATING| Constructor and Description |
|---|
ModalController(CompositeEntity container,
java.lang.String name)
Construct a modal controller with a name and a container.
|
ModalController(Workspace workspace)
Construct a modal controller in the specified workspace with
no container and an empty string as a name.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
_addPort(Port port)
Override the base class to check that the container contains
a mirror port.
|
protected void |
_checkContainer(Entity container)
Override the base class to ensure that the proposed container
is a ModalModel or null.
|
protected java.util.TreeMap<java.lang.Class<? extends Entity>,java.lang.String> |
_getRefinementClasses()
Return a map from the classes of the entities to be dropped into a state
and the class names of the refinements that can be used to contain those
entities.
|
void |
addRefinement(State state,
java.lang.String name,
Entity template,
java.lang.String className,
InstanceOpener instanceOpener)
Create a refinement for the given state.
|
void |
dropObject(NamedObj target,
java.util.List dropObjects,
java.lang.String moml)
React to a list of objects being dropped onto a target.
|
State |
getRefinedState()
Get the state in any ModalController within this ModalModel that has
this ModalController as its refinement, if any.
|
Port |
newPort(java.lang.String name)
Create a new port with the specified name in the container of
this controller, which in turn creates a port in this controller
and all the refinements.
|
void |
setMirrorDisable(int disable)
Control whether adding a port should be mirrored in the modal
model and refinements.
|
_addEntity, _addRelation, _areAllImmediateTransitionsDisabled, _chooseTransitions, _destinationState, _getChannelForIdentifier, _getPortForIdentifier, _getStateRefinementsToPostfire, _getTransitionRefinementsToPostfire, _initializeRefinements, _isRefinementOutput, _isSafeToClear, _readInputs, _schedule, _setCurrentConnectionMap, _setTimeForRefinement, addChosenTransition, addInitializable, attributeChanged, clone, createReceivers, currentState, enabledTransitions, exportSubmodel, fire, foundUnknown, getCausalityInterface, getContext, getDirector, getExecutiveDirector, getInitialState, getLastChosenTransition, getLastChosenTransitions, getLastTakenTransitions, getManager, getModifiedVariables, getPortScope, handleModelError, hasInput, hasInput, initialize, inputPortList, isBackwardTypeInferenceEnabled, isFireFunctional, isOpaque, isStrict, iterate, newReceiver, newRelation, outputPortList, postfire, prefire, preinitialize, readInputs, readOutputsFromRefinement, removeInitializable, reset, setLastChosenTransition, setNewIteration, setSupportMultirate, stop, stopFire, terminate, typeConstraints, wasTransitionTaken, wrapup_adjustDeferrals, _containedDecorators, _deepOpaqueEntityList, _description, _exportMoMLContents, _finishedAddEntity, _removeEntity, _removeRelation, _validateSettables, allAtomicEntityList, allowLevelCrossingConnect, classDefinitionList, connect, connect, containedObjectsIterator, deepCompositeEntityList, deepEntityList, deepGetEntities, deepNamedObjList, deepOpaqueEntityList, deepRelationSet, entityList, entityList, exportLinks, exportMoML, getAttribute, getEntities, getEntity, getPort, getRelation, getRelations, isAtomic, lazyAllAtomicEntityList, lazyAllCompositeEntityList, lazyAllCompositeTransparentAndOpaqueEntityList, lazyClassDefinitionList, lazyDeepEntityList, lazyEntityList, lazyRelationList, numberOfEntities, numberOfRelations, numEntities, numRelations, relationList, removeAllEntities, removeAllRelations, setClassDefinition, setContainer, statistics, uniqueName_checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName_removePort, connectedPortList, connectedPorts, connectionsChanged, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts_setParent, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _executeChangeRequests, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, addHierarchyListener, attributeDeleted, attributeList, attributeList, attributeTypeChanged, clone, 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, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, notifyOfNameChange, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspaceequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitisBackwardTypeInferenceEnabled, typeConstraintscreateReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortListfire, isFireFunctional, isStrict, iterate, postfire, prefire, stop, stopFire, terminateaddInitializable, initialize, preinitialize, removeInitializable, wrapupdescription, getContainer, getDisplayName, getFullName, getName, getName, setNamegetDerivedLevel, getDerivedList, propagateValueprotected boolean _mirrorDisable
public ModalController(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 ModalController(Workspace workspace)
workspace - The workspace that will list the actor.public void addRefinement(State state, java.lang.String name, Entity template, java.lang.String className, InstanceOpener instanceOpener) throws IllegalActionException
addRefinement in interface RefinementActorstate - The state that will contain the new refinement.name - The name of the composite entity that stores the refinement.template - The template used to create the refinement, or null if
template is not used.className - The class name for the refinement, which is used when
template is null.instanceOpener - The instanceOpener, typically a
Configuration, that is used to open the refinement (as a
look-inside action) after it is created, or null if it is not
needed to open the refinement.IllegalActionException - If error occurs while creating the
refinement.public void dropObject(NamedObj target, java.util.List dropObjects, java.lang.String moml) throws IllegalActionException
dropObject in interface DropTargetHandlertarget - The target on which the objects are dropped.dropObjects - The list of objects dropped onto the target.moml - The moml string generated for the dropped objects.IllegalActionException - If the handling is unsuccessful.public State getRefinedState() throws IllegalActionException
getRefinedState in interface RefinementActorIllegalActionException - If the specified refinement cannot be
found in a state, or if a comma-separated list is malformed.public Port newPort(java.lang.String name) throws NameDuplicationException
newPort in class FSMActorname - The name to assign to the newly created port.NameDuplicationException - If the entity already has a port
with the specified name.public void setMirrorDisable(int disable)
setMirrorDisable in interface RefinementActordisable - 0 if mirroring should occur, -1
if mirroring should not occur downwards in the hierarchy,
1 if mirroring should not occur upwards in the hierarchy.protected void _addPort(Port port) throws IllegalActionException, NameDuplicationException
_addPort in class Entityport - The port to add to this entity.IllegalActionException - If the port is not being added
by the enclosing ModalModel.NameDuplicationException - If the port name collides with a
name already in the entity.protected void _checkContainer(Entity container) throws IllegalActionException
container - The proposed container.IllegalActionException - If the proposed container is not a
TypedActor, or if the base class throws it.protected java.util.TreeMap<java.lang.Class<? extends Entity>,java.lang.String> _getRefinementClasses()