ptolemy.data.expr
Class SingletonParameter
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.util.Attribute
ptolemy.kernel.util.AbstractSettableAttribute
ptolemy.data.expr.Variable
ptolemy.data.expr.Parameter
ptolemy.data.expr.SingletonParameter
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, HasTypeConstraints, Typeable, Changeable, Debuggable, DebugListener, Derivable, ModelErrorHandler, MoMLExportable, Moveable, Nameable, Settable, ValueListener
public class SingletonParameter
- extends Parameter
This subclass of Parameter is identical to Parameter except that it
is a singleton, meaning that when its container is set, if the container
already contains an attribute with the same name, then that attribute
is first removed.
- Since:
- Ptolemy II 4.0
- Version:
- $Id: SingletonParameter.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- Edward A. Lee
- 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 |
SingletonParameter(NamedObj container,
java.lang.String name)
Construct a parameter with the given name contained by the specified
entity. |
Method Summary |
void |
setContainer(NamedObj container)
Remove any previous attribute in the container that has the same
name as this attribute, and then call the base class method to set
the container. |
Methods inherited from class ptolemy.data.expr.Variable |
_description, _evaluate, _notifyValueListeners, _parseIfNecessary, _propagate, _propagateToValueListeners, _propagateValue, _setToken, _setTokenAndNotify, addValueListener, clone, getDeclaredType, getExpression, getFreeIdentifiers, getParserScope, getScope, getScope, getToken, getType, getTypeTerm, getValueAsString, getVariable, getVisibility, invalidate, isKnown, isLazy, isStringMode, isTypeAcceptable, removeValueListener, reset, setExpression, setLazy, setName, setParseTreeEvaluator, setStringMode, setToken, setToken, setTypeAtLeast, setTypeAtLeast, setTypeAtMost, setTypeEquals, setTypeSameAs, setUnknown, setVisibility, stringRepresentation, toString, typeConstraintList, typeConstraints, validate, valueChanged |
Methods inherited from class ptolemy.kernel.util.NamedObj |
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _exportMoMLContents, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _recordDecoratedAttributes, _removeAttribute, _splitName, _stripNumericSuffix, _validateSettables, addChangeListener, addDebugListener, attributeChanged, attributeList, attributeList, attributeTypeChanged, clone, containedObjectsIterator, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, 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, propagateExistence, propagateValue, propagateValues, removeChangeListener, removeDebugListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, uniqueName, validateSettables, workspace |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
SingletonParameter
public SingletonParameter(NamedObj container,
java.lang.String name)
throws IllegalActionException,
NameDuplicationException
- Construct a parameter with the given name contained by the specified
entity. The container argument must not be null, or a
NullPointerException will be thrown. This parameter 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.
The object is not added to the list of objects in the workspace
unless the container is null.
Increment the version of the workspace.
- Parameters:
container
- The container.name
- The name of the parameter.
- Throws:
IllegalActionException
- If the parameter is not of an
acceptable class for the container.
NameDuplicationException
- If the name coincides with
a parameter already in the container.
setContainer
public void setContainer(NamedObj container)
throws IllegalActionException,
NameDuplicationException
- Remove any previous attribute in the container that has the same
name as this attribute, and then call the base class method to set
the container. 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 this attribute from its
container. It is not added to the workspace directory, so this
could result in this object being garbage collected.
This method is write-synchronized on the
workspace and increments its version number.
- Overrides:
setContainer
in class Variable
- 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 that is of class
SingletonConfigurableAttribute.- See Also:
Attribute.getContainer()