public class ModalRefinement extends ModalModel 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) |
CompositeEntity.ContainedObjectsIterator| Modifier and Type | Field and Description |
|---|---|
protected int |
_mirrorDisable
Indicator that we are processing a newPort request from above
(if 1) or below (if -1) in the hierarchy.
|
_controller, directorClass, stateDependentCausality_actorFiringListeners, _causalityInterface, _derivedPiggybacks, _initializables, _notifyingActorFiring, _piggybacks, _publishedPorts, _publisherRelations, _stopRequested, _subscribedPorts_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 |
|---|
ModalRefinement(CompositeEntity container,
java.lang.String name)
Construct a modal controller with a name and a container.
|
| Modifier and Type | Method and Description |
|---|---|
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.
|
static void |
addRefinement(State state,
java.lang.String name,
Entity template,
java.lang.String className,
InstanceOpener instanceOpener,
CompositeEntity container)
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 ModalRefinement within this ModalModel that has
this ModalRefinement 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.
|
attributeChanged, changeExecuted, changeFailed, clone, exportMoML, getAttribute, getCausalityInterface, getController, handleModelError, initialize_addEntity, _addPort, _addRelation, _checkTypesFromTo, _destinationTypeConstraints, attributeTypeChanged, isBackwardTypeInferenceEnabled, newRelation, resolveTypes, typeConstraintList, typeConstraints_actorFiring, _actorFiring, _finishedAddEntity, _setDirector, _transferPortParameterInputs, addActorFiringListener, addInitializable, addPiggyback, connectionsChanged, createReceivers, createSchedule, fire, getDirector, getExecutiveDirector, getManager, getPublishedPort, getPublishedPortChannel, getPublishedPorts, getSubscribedPortChannel, inferringWidths, inferWidths, inputPortList, isFireFunctional, isOpaque, isPublishedPort, isStrict, iterate, linkToPublishedPort, linkToPublishedPort, linkToPublishedPort, linkToPublishedPort, needsWidthInference, newInsideReceiver, newReceiver, notifyConnectivityChange, outputPortList, postfire, prefire, preinitialize, recordFiring, registerPublisherPort, registerPublisherPort, removeActorFiringListener, removeInitializable, removePiggyback, requestChange, setContainer, setDirector, setManager, stop, stopFire, terminate, unlinkToPublishedPort, unlinkToPublishedPort, unlinkToPublishedPort, unlinkToPublishedPort, unregisterPublisherPort, unregisterPublisherPort, wrapup_adjustDeferrals, _containedDecorators, _deepOpaqueEntityList, _description, _exportMoMLContents, _removeEntity, _removeRelation, _validateSettables, allAtomicEntityList, allowLevelCrossingConnect, classDefinitionList, connect, connect, containedObjectsIterator, deepCompositeEntityList, deepEntityList, deepGetEntities, deepNamedObjList, deepOpaqueEntityList, deepRelationSet, entityList, entityList, exportLinks, getEntities, getEntity, getPort, getRelation, getRelations, isAtomic, lazyAllAtomicEntityList, lazyAllCompositeEntityList, lazyAllCompositeTransparentAndOpaqueEntityList, lazyClassDefinitionList, lazyDeepEntityList, lazyEntityList, lazyRelationList, numberOfEntities, numberOfRelations, numEntities, numRelations, relationList, removeAllEntities, removeAllRelations, setClassDefinition, statistics, uniqueName_checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName_removePort, connectedPortList, connectedPorts, 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, 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, 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 int _mirrorDisable
public ModalRefinement(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 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 ModalModelname - 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 _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()
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 static void addRefinement(State state, java.lang.String name, Entity template, java.lang.String className, InstanceOpener instanceOpener, CompositeEntity container) throws IllegalActionException
state - 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.container - The container.IllegalActionException - If error occurs while creating the
refinement.