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, LINKS
COMPLETED, 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, workspace
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
isBackwardTypeInferenceEnabled, typeConstraints
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
fire, isFireFunctional, isStrict, iterate, postfire, prefire, stop, stopFire, terminate
addInitializable, initialize, preinitialize, removeInitializable, wrapup
description, getContainer, getDisplayName, getFullName, getName, getName, setName
getDerivedLevel, getDerivedList, propagateValue
protected 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 DropTargetHandler
target
- 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 RefinementActor
IllegalActionException
- 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 ModalModel
name
- 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 RefinementActor
disable
- 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 RefinementActor
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.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.