Package ptolemy.actor.gt
Class AttributeMatcher
- java.lang.Object
-
- ptolemy.kernel.util.NamedObj
-
- ptolemy.kernel.util.Attribute
-
- ptolemy.actor.gt.AttributeMatcher
-
- All Implemented Interfaces:
java.lang.Cloneable
,GTEntity
,Changeable
,Debuggable
,DebugListener
,Derivable
,ModelErrorHandler
,MoMLExportable
,Moveable
,Nameable
public class AttributeMatcher extends Attribute implements GTEntity
A matcher to match any attribute. In the pattern of aTransformationRule
, this matcher can be customized by instances ofCriterion
. In the replacement of aTransformationRule
, operations can be specified for this matcher with instances ofOperation
. The operations will be performed on the attribute that is matched by the corresponding matcher in the pattern, and is preserved after the transformation.- Since:
- Ptolemy II 8.0
- Version:
- $Id$
- Author:
- Thomas Huining Feng
- Pt.AcceptedRating:
- Red (tfeng)
- Pt.ProposedRating:
- Yellow (tfeng)
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class ptolemy.kernel.util.NamedObj
NamedObj.ContainedObjectsIterator
-
-
Field Summary
Fields Modifier and Type Field Description GTIngredientsAttribute
criteria
The attribute containing all the criteria in a list (GTIngredientList
).GTIngredientsEditor.Factory
editorFactory
The editor factory for ingredients in this matcher.GTIngredientsAttribute
operations
The attribute containing all the operations in a list (GTIngredientList
).PatternObjectAttribute
patternObject
The attribute that specifies the name of the corresponding entity in the pattern.-
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
-
-
Constructor Summary
Constructors Constructor Description AttributeMatcher(NamedObj container, java.lang.String name)
Construct an attribute matcher to be either contained in the pattern of aTransformationRule
or in the replacement.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description GTIngredientsAttribute
getCriteriaAttribute()
Return the attribute that stores all the criteria for this matcher.java.lang.String
getDefaultIconDescription()
Return a string that contains the SVG icon description ("<svg>...</svg>") for this matcher.GTIngredientsAttribute
getOperationsAttribute()
Return the attribute that stores all the operations for this matcher.PatternObjectAttribute
getPatternObjectAttribute()
Return the attribute that stores the name of the corresponding entity in the pattern of the sameTransformationRule
, if this entity is in the replacement, or null otherwise.java.util.Set<java.lang.String>
labelSet()
Return the set of names of ingredients contained in this entity that can be resolved.boolean
match(NamedObj object)
Test whether this AtomicActorMatcher can match the given object.void
updateAppearance(GTIngredientsAttribute attribute)
Do nothing.-
Methods inherited from class ptolemy.kernel.util.Attribute
_checkContainer, _getContainedObject, _propagateExistence, clone, getContainer, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, setContainer, setName, 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, getDisplayName, getFullName, getName, getName, setName
-
-
-
-
Field Detail
-
criteria
public GTIngredientsAttribute criteria
The attribute containing all the criteria in a list (GTIngredientList
).
-
editorFactory
public GTIngredientsEditor.Factory editorFactory
The editor factory for ingredients in this matcher.
-
operations
public GTIngredientsAttribute operations
The attribute containing all the operations in a list (GTIngredientList
).
-
patternObject
public PatternObjectAttribute patternObject
The attribute that specifies the name of the corresponding entity in the pattern.
-
-
Constructor Detail
-
AttributeMatcher
public AttributeMatcher(NamedObj container, java.lang.String name) throws IllegalActionException, NameDuplicationException
Construct an attribute matcher to be either contained in the pattern of aTransformationRule
or in the replacement.- Parameters:
container
- The proposed container of this matcher.name
- The name of this matcher.- Throws:
IllegalActionException
- If this actor cannot be contained by the proposed container.NameDuplicationException
- If the name coincides with an entity already in the container.
-
-
Method Detail
-
getCriteriaAttribute
public GTIngredientsAttribute getCriteriaAttribute()
Return the attribute that stores all the criteria for this matcher.- Specified by:
getCriteriaAttribute
in interfaceGTEntity
- Returns:
- The attribute that stores all the criteria.
-
getDefaultIconDescription
public java.lang.String getDefaultIconDescription()
Return a string that contains the SVG icon description ("<svg>...</svg>") for this matcher. This icon description is the default icon for the matcher, which may be changed by the criteria.- Specified by:
getDefaultIconDescription
in interfaceGTEntity
- Returns:
- The icon description.
-
getOperationsAttribute
public GTIngredientsAttribute getOperationsAttribute()
Return the attribute that stores all the operations for this matcher.- Specified by:
getOperationsAttribute
in interfaceGTEntity
- Returns:
- The attribute that stores all the operations.
-
getPatternObjectAttribute
public PatternObjectAttribute getPatternObjectAttribute()
Return the attribute that stores the name of the corresponding entity in the pattern of the sameTransformationRule
, if this entity is in the replacement, or null otherwise.- Specified by:
getPatternObjectAttribute
in interfaceGTEntity
- Returns:
- The attribute that stores the name of the corresponding entity.
- See Also:
labelSet()
-
labelSet
public java.util.Set<java.lang.String> labelSet()
Return the set of names of ingredients contained in this entity that can be resolved.
-
match
public boolean match(NamedObj object)
Test whether this AtomicActorMatcher can match the given object. The matching is shallow in the sense that objects contained by this matcher need not match the corresponding objects in the given object for the return result to be true. The return result is true if and only if the given object is an instance ofComponentEntity
.
-
updateAppearance
public void updateAppearance(GTIngredientsAttribute attribute)
Do nothing. The appearance of an AttributeMatcher is not updated with change of the criteria or operations.- Specified by:
updateAppearance
in interfaceGTEntity
- Parameters:
attribute
- The attribute containing ingredients of this entity.
-
-