Package ptolemy.domains.modal.kernel
Class FSMTransitionParameter
- java.lang.Object
-
- ptolemy.kernel.util.NamedObj
-
- ptolemy.kernel.util.Attribute
-
- ptolemy.kernel.util.AbstractSettableAttribute
-
- ptolemy.domains.modal.kernel.FSMTransitionParameter
-
- All Implemented Interfaces:
java.lang.Cloneable
,Changeable
,Debuggable
,DebugListener
,Derivable
,ModelErrorHandler
,MoMLExportable
,Moveable
,Nameable
,Settable
public class FSMTransitionParameter extends AbstractSettableAttribute
A parameter that contains FSM transition attributes. In large FSMs with long strings in actions, the graphical representation can be challenging. This parameter can be used represent configuration of transitions in a parameter that can be moved independent from the transition in vergil.- Since:
- Ptolemy II 10.0
- Version:
- $Id$
- Author:
- Patricia Derler
- Pt.AcceptedRating:
- Red (derler)
- Pt.ProposedRating:
- Red (derler)
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class ptolemy.kernel.util.NamedObj
NamedObj.ContainedObjectsIterator
-
Nested classes/interfaces inherited from interface ptolemy.kernel.util.Settable
Settable.Visibility
-
-
Field Summary
-
Fields inherited from class ptolemy.kernel.util.NamedObj
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
-
Fields inherited from interface ptolemy.kernel.util.Settable
EXPERT, FULL, NONE, NOT_EDITABLE
-
-
Constructor Summary
Constructors Constructor Description FSMTransitionParameter(NamedObj container, java.lang.String name)
Construct an attribute with the given name contained by the specified entity.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addValueListener(ValueListener listener)
Add value listener.java.lang.Object
clone(Workspace workspace)
Clone the transition into the specified workspace.java.lang.String
getExpression()
Return the name of the parameter.Transition
getTransition()
Set the transition that corresponds to the parameters.Settable.Visibility
getVisibility()
Get visibility.void
hide(boolean hide)
If hide is true, hide the parameter and display transition parameters next to the transition.void
removeValueListener(ValueListener listener)
Remove value listener.void
setContainer(NamedObj container)
Specify the container NamedObj, adding this attribute to the list of attributes in the container.void
setName(java.lang.String name)
Upon setting the name of this parameter change the corresponding attribute in the transition.void
setTransition(Transition transition)
Set the transition that corresponds to the parameters.void
setVisibility(Settable.Visibility visibility)
Set visibility.java.util.Collection
validate()
Validate.-
Methods inherited from class ptolemy.kernel.util.AbstractSettableAttribute
getDefaultExpression, getValueAsString, setExpression
-
Methods inherited from class ptolemy.kernel.util.Attribute
_checkContainer, _getContainedObject, _propagateExistence, getContainer, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, updateContent
-
Methods inherited from class ptolemy.kernel.util.NamedObj
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _description, _executeChangeRequests, _exportMoMLContents, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, _validateSettables, addChangeListener, addDebugListener, addHierarchyListener, attributeChanged, attributeDeleted, attributeList, attributeList, attributeTypeChanged, clone, containedObjectsIterator, decorators, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getElementName, getFullName, getModelErrorHandler, getName, getName, getPrototypeList, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, notifyOfNameChange, propagateExistence, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, uniqueName, validateSettables, workspace
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface ptolemy.kernel.util.Nameable
description, getContainer, getFullName, getName, getName
-
Methods inherited from interface ptolemy.kernel.util.Settable
getDisplayName
-
-
-
-
Constructor Detail
-
FSMTransitionParameter
public FSMTransitionParameter(NamedObj container, java.lang.String name) throws IllegalActionException, NameDuplicationException
Construct an attribute with the given name contained by the specified entity. The container argument must not be null, or a NullPointerException will be thrown. This attribute 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.- Parameters:
container
- The container.name
- The name of this attribute.- Throws:
IllegalActionException
- If the attribute is not of an acceptable class for the container, or if the name contains a period.NameDuplicationException
- If the name coincides with an attribute already in the container.
-
-
Method Detail
-
addValueListener
public void addValueListener(ValueListener listener)
Add value listener. Nothing to do.- Parameters:
listener
- Ignored in this base class.- See Also:
removeValueListener(ValueListener)
-
clone
public java.lang.Object clone(Workspace workspace) throws java.lang.CloneNotSupportedException
Clone the transition into the specified workspace. This calls the base class and then sets the attribute public members to refer to the attributes of the new transition.- Overrides:
clone
in classAttribute
- Parameters:
workspace
- The workspace for the new transition.- Returns:
- A new transition.
- Throws:
java.lang.CloneNotSupportedException
- If a derived class contains an attribute that cannot be cloned.- See Also:
NamedObj.exportMoML(Writer, int, String)
,NamedObj.setDeferringChangeRequests(boolean)
-
getExpression
public java.lang.String getExpression()
Return the name of the parameter.- Returns:
- The name.
- See Also:
Settable.setExpression(String)
-
getTransition
public Transition getTransition()
Set the transition that corresponds to the parameters.- Returns:
- The transition.
- See Also:
setTransition(Transition)
-
getVisibility
public Settable.Visibility getVisibility()
Get visibility. Nothing to do.- Returns:
- Always return NOT_EDITABLE.
- See Also:
setVisibility(Visibility)
-
hide
public void hide(boolean hide) throws IllegalActionException
If hide is true, hide the parameter and display transition parameters next to the transition. FIXME this should probably be done in setVisibility.- Parameters:
hide
- True if the parameter should be hidden.- Throws:
IllegalActionException
- If thrown while creating the _hide parameter, while validating the location or while creating a location.
-
setName
public void setName(java.lang.String name) throws IllegalActionException, NameDuplicationException
Upon setting the name of this parameter change the corresponding attribute in the transition.- Specified by:
setName
in interfaceNameable
- Overrides:
setName
in classAttribute
- Parameters:
name
- The new name.- Throws:
IllegalActionException
- If the name contains a period.NameDuplicationException
- If there is already an attribute with the same name in the container.- See Also:
NamedObj.getName()
,NamedObj.getName(NamedObj)
-
removeValueListener
public void removeValueListener(ValueListener listener)
Remove value listener. Nothing to do.- Parameters:
listener
- Ignored.- See Also:
addValueListener(ValueListener)
-
setContainer
public void setContainer(NamedObj container) throws IllegalActionException, NameDuplicationException
Description copied from class:Attribute
Specify the container NamedObj, adding this attribute to the list of attributes in the container. If the container already contains an attribute 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 attribute, throw an exception. If this attribute is already contained by the NamedObj, do nothing. If the attribute already has a container, remove this attribute from its attribute list first. Otherwise, remove it from the directory of the workspace, if it is there. If the argument is null, then remove it from its container. It is not added to the workspace directory, so this could result in this object being garbage collected. Note that since an Attribute is a NamedObj, it can itself have attributes. However, recursive containment is not allowed, where an attribute is an attribute of itself, or indirectly of any attribute it contains. This method is write-synchronized on the workspace and increments its version number.Subclasses may constrain the type of container by overriding
Attribute.setContainer(NamedObj)
.- Overrides:
setContainer
in classAttribute
- Parameters:
container
- The container to attach this attribute to..- Throws:
IllegalActionException
- If this attribute is not of the expected class for the container, or it has no name, or the attribute and container are not in the same workspace, or the proposed container would result in recursive containment.NameDuplicationException
- If the container already has an attribute with the name of this attribute.- See Also:
Attribute.getContainer()
-
setTransition
public void setTransition(Transition transition) throws IllegalActionException, NameDuplicationException
Set the transition that corresponds to the parameters.- Parameters:
transition
- The transition.- Throws:
IllegalActionException
- Can happen during initialization.NameDuplicationException
- Can happen during initialization.- See Also:
getTransition()
-
setVisibility
public void setVisibility(Settable.Visibility visibility)
Set visibility. Nothing to do.- Parameters:
visibility
- Ignored.- See Also:
getVisibility()
-
validate
public java.util.Collection validate() throws IllegalActionException
Validate. Nothing to do.- Returns:
- null
- Throws:
IllegalActionException
- Not thrown.
-
-