ptolemy.actor.gt.ingredients.operations
Class AttributeOperation

java.lang.Object
  extended by ptolemy.actor.gt.GTIngredient
      extended by ptolemy.actor.gt.ingredients.operations.Operation
          extended by ptolemy.actor.gt.ingredients.operations.AttributeOperation

public class AttributeOperation
extends Operation

An operation to add or change an attribute.

Since:
Ptolemy II 8.0
Version:
$Id: AttributeOperation.java 57040 2010-01-27 20:52:32Z cxh $
Author:
Thomas Huining Feng
Accepted Rating:
Red (tfeng)
Proposed Rating:
Yellow (tfeng)

Nested Class Summary
 
Nested classes/interfaces inherited from class ptolemy.actor.gt.GTIngredient
GTIngredient.FieldIterator
 
Field Summary
private  java.lang.String _attributeClass
          Value of the attributeClass element.
private  java.lang.String _attributeName
          Value of the attributeName element.
private  PtolemyExpressionString _attributeValue
          Value of the attributeValue element.
private static OperationElement[] _ELEMENTS
          The elements.
private  ASTPtRootNode _valueParseTree
          Parse tree of the attributeValue element.
 
Fields inherited from class ptolemy.actor.gt.ingredients.operations.Operation
_parseTreeWriter
 
Fields inherited from class ptolemy.actor.gt.GTIngredient
FIELD_SEPARATOR
 
Constructor Summary
AttributeOperation(GTIngredientList owner)
          Construct an operation within the given list as its owner.
AttributeOperation(GTIngredientList owner, java.lang.String values)
          Construct an operation within the given list as its owner and initialize all the elements with the given values, which are a string encoding of those elements.
AttributeOperation(GTIngredientList owner, java.lang.String attributeName, java.lang.String attributeClass, java.lang.String attributeValue)
          Construct an operation within the given list as its owner and with the given value to each of its elements..
 
Method Summary
protected  void _reparse()
          Generate the parse tree for the attributeValue element again.
 ChangeRequest getChangeRequest(Pattern pattern, Replacement replacement, MatchResult matchResult, NamedObj patternObject, NamedObj replacementObject, NamedObj hostObject)
          Get the change request to update the object in the host model.
 GTIngredientElement[] getElements()
          Get the array of elements defined in this GTIngredient.
 java.lang.Object getValue(int index)
          Get the value of the index-th elements.
 java.lang.String getValues()
          Get a string that describes the values of all the elements.
 boolean isAttributeClassEnabled()
          Return whether the attributeClass element is enabled.
 boolean isAttributeNameEnabled()
          Return whether the attributeName element is enabled.
 boolean isAttributeValueEnabled()
          Return whether the attributeValue element is enabled.
 void setAttributeClass(java.lang.String attributeClass)
          Set the value of the attributeClass element.
 void setAttributeName(java.lang.String attributeName)
          Set the value of the attributeName element.
 void setAttributeValue(java.lang.String attributeValue)
          Set the value of the attributeValue element.
 void setValue(int index, java.lang.Object value)
          Set the value of the index-th element.
 void setValues(java.lang.String values)
          Set the values of all the elements with a string that describes them.
 void validate()
          Validate the enablements and values of all the elements.
 
Methods inherited from class ptolemy.actor.gt.ingredients.operations.Operation
_evaluate
 
Methods inherited from class ptolemy.actor.gt.GTIngredient
_decodeBooleanField, _decodeStringField, _encodeBooleanField, _encodeStringField, _escapeElementString, _findMatchingParen, _findSeparator, _unescapeElementString, disableAll, enableAll, getOwner, isApplicable, isEnabled, setEnabled, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_ELEMENTS

private static final OperationElement[] _ELEMENTS
The elements.


_attributeClass

private java.lang.String _attributeClass
Value of the attributeClass element.


_attributeName

private java.lang.String _attributeName
Value of the attributeName element.


_attributeValue

private PtolemyExpressionString _attributeValue
Value of the attributeValue element.


_valueParseTree

private ASTPtRootNode _valueParseTree
Parse tree of the attributeValue element.

Constructor Detail

AttributeOperation

public AttributeOperation(GTIngredientList owner)
Construct an operation within the given list as its owner. All elements are enabled and are initialized to empty at the beginning.

Parameters:
owner - The list as the owner of the constructed GTIngredientList.

AttributeOperation

public AttributeOperation(GTIngredientList owner,
                          java.lang.String values)
Construct an operation within the given list as its owner and initialize all the elements with the given values, which are a string encoding of those elements. All elements are enabled at the beginning.

Parameters:
owner - The list as the owner of the constructed GTIngredientList.
values - The string encoding of the values of the elements.

AttributeOperation

public AttributeOperation(GTIngredientList owner,
                          java.lang.String attributeName,
                          java.lang.String attributeClass,
                          java.lang.String attributeValue)
Construct an operation within the given list as its owner and with the given value to each of its elements..

Parameters:
owner - The list as the owner of the constructed GTIngredientList.
attributeName - Value of the attributeName element.
attributeClass - Value of the attributeClass element.
attributeValue - Value of the attributeValue element.
Method Detail

getChangeRequest

public ChangeRequest getChangeRequest(Pattern pattern,
                                      Replacement replacement,
                                      MatchResult matchResult,
                                      NamedObj patternObject,
                                      NamedObj replacementObject,
                                      NamedObj hostObject)
                               throws IllegalActionException
Get the change request to update the object in the host model.

Specified by:
getChangeRequest in class Operation
Parameters:
pattern - The pattern of the transformation rule.
replacement - The replacement of the transformation rule.
matchResult - The match result.
patternObject - The object in the pattern, or null.
replacementObject - The object in the replacement that corresponds to the object in the pattern.
hostObject - The object in the host model corresponding to the object in the replacement.
Returns:
The change request.
Throws:
IllegalActionException - If error occurs in generating the change request.

getElements

public GTIngredientElement[] getElements()
Get the array of elements defined in this GTIngredient.

Specified by:
getElements in class GTIngredient
Returns:
The array of elements.

getValue

public java.lang.Object getValue(int index)
Get the value of the index-th elements.

Specified by:
getValue in class GTIngredient
Parameters:
index - The index.
Returns:
The value.
See Also:
setValue(int, Object)

getValues

public java.lang.String getValues()
Get a string that describes the values of all the elements.

Specified by:
getValues in class GTIngredient
Returns:
A string that describes the values of all the elements.
See Also:
setValues(String)

isAttributeClassEnabled

public boolean isAttributeClassEnabled()
Return whether the attributeClass element is enabled.

Returns:
true if the attributeClass element is enabled.

isAttributeNameEnabled

public boolean isAttributeNameEnabled()
Return whether the attributeName element is enabled.

Returns:
true if the attributeName element is enabled.

isAttributeValueEnabled

public boolean isAttributeValueEnabled()
Return whether the attributeValue element is enabled.

Returns:
true if the attributeValue element is enabled.

setAttributeClass

public void setAttributeClass(java.lang.String attributeClass)
Set the value of the attributeClass element.

Parameters:
attributeClass - The value of the attributeClass element.

setAttributeName

public void setAttributeName(java.lang.String attributeName)
Set the value of the attributeName element.

Parameters:
attributeName - The value of the attributeName element.

setAttributeValue

public void setAttributeValue(java.lang.String attributeValue)
Set the value of the attributeValue element.

Parameters:
attributeValue - The value of the attributeValue element.

setValue

public void setValue(int index,
                     java.lang.Object value)
Set the value of the index-th element.

Specified by:
setValue in class GTIngredient
Parameters:
index - The index.
value - The value.
See Also:
getValue(int)

setValues

public void setValues(java.lang.String values)
Set the values of all the elements with a string that describes them.

Specified by:
setValues in class GTIngredient
Parameters:
values - A string that describes the new values of all the elements.
See Also:
getValues()

validate

public void validate()
              throws ValidationException
Validate the enablements and values of all the elements.

Specified by:
validate in class GTIngredient
Throws:
ValidationException - If some elements are invalid.

_reparse

protected void _reparse()
                 throws IllegalActionException
Generate the parse tree for the attributeValue element again.

Throws:
IllegalActionException - If error occurs in the parse tree generation.