ptolemy.actor.gt.controller
Class GTEvent
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.domains.modal.kernel.State
ptolemy.domains.ptera.kernel.Event
ptolemy.actor.gt.controller.GTEvent
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Initializable, ConfigurableEntity, Changeable, Configurable, Debuggable, DebugListener, Derivable, DropTargetHandler, Flowable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
- Direct Known Subclasses:
- Clone, Execute, InitModel, InputModel, OutputModel, ReadModel, Transform, View, WriteModel
public class GTEvent
- extends Event
A common superclass of events created for model transformation.
- Since:
- Ptolemy II 8.0
- Version:
- $Id: GTEvent.java 57044 2010-01-27 22:41:05Z cxh $
- Author:
- Thomas Huining Feng
- See Also:
- 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 |
GTEvent(CompositeEntity container,
java.lang.String name)
Construct an event with the given name contained by the specified
composite entity. |
Method Summary |
private void |
_setRefinementExtender()
Set the refinement extender to suggest either an embedded transformation
controller or an embedded transformation controller with ports as the
new refinement. |
ModelParameter |
getModelParameter()
Get the model parameter that stores the current model to be transformed. |
void |
setContainer(CompositeEntity container)
Specify the container, adding the entity to the list
of entities in the container. |
Methods inherited from class ptolemy.domains.ptera.kernel.Event |
_getParserScope, _isActiveRefinement, addInitializable, attributeChanged, clone, fire, getController, initialize, isEndingEvent, isFinalEvent, isInitialEvent, preinitialize, refire, removeInitializable, scheduleEvents, stop, wrapup |
Methods inherited from class ptolemy.domains.modal.kernel.State |
_exportMoMLContents, configure, dropObject, getConfigurer, getConfigureSource, getConfigureText, getIncomingPort, getObjectInRefinement, getOutgoingPort, getRefinement, nonpreemptiveTransitionList, preemptiveTransitionList |
Methods inherited from class ptolemy.kernel.ComponentEntity |
_addPort, _adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, newPort, propagateExistence, setName |
Methods inherited from class ptolemy.kernel.Entity |
_description, _removePort, _validateSettables, connectedPortList, connectedPorts, connectionsChanged, 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, attributeList, attributeList, attributeTypeChanged, clone, 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 |
refinementExtender
public RefinementExtender refinementExtender
- The refinement extender to suggest the type of refinement for this
event.
GTEvent
public GTEvent(CompositeEntity container,
java.lang.String name)
throws IllegalActionException,
NameDuplicationException
- Construct an event with the given name contained by the specified
composite entity. The container argument must not be null, or a
NullPointerException will be thrown. This event will use the
workspace of the container for synchronization and version counts.
If the name argument is null, then the name is set to the empty
string.
Increment the version of the workspace.
This constructor write-synchronizes on the workspace.
- Parameters:
container
- The container.name
- The name of the state.
- Throws:
IllegalActionException
- If the state cannot be contained
by the proposed container.
NameDuplicationException
- If the name coincides with
that of an entity already in the container.
getModelParameter
public ModelParameter getModelParameter()
throws IllegalActionException
- Get the model parameter that stores the current model to be transformed.
- Returns:
- The model parameter.
- Throws:
IllegalActionException
- If the model parameter cannot be found
in the model hierarchy.
setContainer
public void setContainer(CompositeEntity container)
throws IllegalActionException,
NameDuplicationException
- Specify the container, adding the entity to the list
of entities in the container. If the container already contains
an entity with the same name, then throw an exception and do not make
any changes. Similarly, if the container is not in the same
workspace as this entity, throw an exception. If this entity is
a class element and the proposed container does not match
the current container, then also throw an exception.
If the entity is already contained by the container, do nothing.
If this entity already has a container, remove it
from that container first. Otherwise, remove it from
the directory of the workspace, if it is present.
If the argument is null, then unlink the ports of the entity
from any relations and remove it from its container.
It is not added to the workspace directory, so this could result in
this entity being garbage collected.
Derived classes may further constrain the container
to subclasses of CompositeEntity by overriding the protected
method _checkContainer(). This method validates all
deeply contained instances of Settable, since they may no longer
be valid in the new context. This method is write-synchronized
to the workspace and increments its version number.
- Overrides:
setContainer
in class Event
- Parameters:
container
- The proposed container.
- Throws:
IllegalActionException
- If the action would result in a
recursive containment structure, or if
this entity and container are not in the same workspace, or
if the protected method _checkContainer() throws it, or if
a contained Settable becomes invalid and the error handler
throws it.
NameDuplicationException
- If the name of this entity
collides with a name already in the container.- See Also:
ComponentEntity.getContainer()
_setRefinementExtender
private void _setRefinementExtender()
- Set the refinement extender to suggest either an embedded transformation
controller or an embedded transformation controller with ports as the
new refinement.