ptolemy.actor.gt
Class ContainerIgnoringAttribute
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.util.Attribute
ptolemy.kernel.util.AbstractSettableAttribute
ptolemy.data.expr.Variable
ptolemy.data.expr.Parameter
ptolemy.actor.gt.ContainerIgnoringAttribute
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, GTAttribute, HasTypeConstraints, Typeable, Changeable, Debuggable, DebugListener, Derivable, ModelErrorHandler, MoMLExportable, Moveable, Nameable, Settable, ValueListener
public class ContainerIgnoringAttribute
- extends Parameter
- implements GTAttribute
An attribute to specify that all composite actors within its container should
be considered as transparent, except the ones with directors.
- Since:
- Ptolemy II 8.0
- Version:
- $Id: ContainerIgnoringAttribute.java 57044 2010-01-27 22:41:05Z cxh $
- Author:
- Thomas Huining Feng
- See Also:
HierarchyFlatteningAttribute
,
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 |
Method Summary |
void |
setContainer(NamedObj container)
Specify the container NamedObj, adding this attribute to the
list of attributes in the container. |
java.util.Collection |
validate()
If this variable is not lazy (the default) then evaluate
the expression contained in this variable, and notify any
value dependents. |
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, 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 |
DEFAULT
public static final boolean DEFAULT
- The default value of this attribute.
- See Also:
- Constant Field Values
editorFactory
public VisibleParameterEditorFactory editorFactory
- The editor factory.
_FLATTENING_ICON
private static final java.lang.String _FLATTENING_ICON
- The icon used when flattening is set to true.
- See Also:
- Constant Field Values
_NOT_FLATTENING_ICON
private static final java.lang.String _NOT_FLATTENING_ICON
- The icon used when flattening is set to false.
- See Also:
- Constant Field Values
ContainerIgnoringAttribute
public ContainerIgnoringAttribute(NamedObj container,
java.lang.String name)
throws NameDuplicationException,
IllegalActionException
- 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.
setContainer
public void setContainer(NamedObj container)
throws IllegalActionException,
NameDuplicationException
- 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
setContainer(NamedObj)
.
- 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.- See Also:
Attribute.getContainer()
validate
public java.util.Collection validate()
throws IllegalActionException
- If this variable is not lazy (the default) then evaluate
the expression contained in this variable, and notify any
value dependents. If those are not lazy, then they too will
be evaluated. Also, if the variable is not lazy, then
notify its container, if there is one, by calling its
attributeChanged() method.
If this variable is lazy, then mark this variable and any
of its value dependents as needing evaluation and for any
value dependents that are not lazy, evaluate them.
Note that if there are no value dependents,
or if they are all lazy, then this will not
result in evaluation of this variable, and hence will not ensure
that the expression giving its value is valid. Call getToken()
or getType() to accomplish that.
- Specified by:
validate
in interface Settable
- Overrides:
validate
in class Variable
- Returns:
- The current list of value listeners, which are evaluated
as a consequence of this call to validate().
- Throws:
IllegalActionException
- If this variable or a
variable dependent on this variable cannot be evaluated (and is
not lazy) and the model error handler throws an exception.
Also thrown if the change is not acceptable to the container.