Package ptolemy.actor.gt
Class GTIngredient
- java.lang.Object
-
- ptolemy.actor.gt.GTIngredient
-
public abstract class GTIngredient extends java.lang.ObjectSuperclass of criteria and operations that can be associated with entities in a transformation rule. Each GTIngredient has a number of {\em elements}. An element is essentially an entry that can hold a value and can be disabled if its value is ignored. This superclass provides common methods for defining and accessing those elements.- Since:
- Ptolemy II 7.1
- Version:
- $Id$
- Author:
- Thomas Huining Feng
- Pt.AcceptedRating:
- Red (tfeng)
- Pt.ProposedRating:
- Yellow (tfeng)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classGTIngredient.FieldIteratorAn iterator to read the fields one by one in a string that describes the values of all the elements.
-
Field Summary
Fields Modifier and Type Field Description static charFIELD_SEPARATORThe string to separate elements in a string that describes their values.
-
Constructor Summary
Constructors Modifier Constructor Description protectedGTIngredient(GTIngredientList owner, int elementCount)Construct a GTIngredient within the given list as its owner containing a given number of elements.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected boolean_decodeBooleanField(int index, GTIngredient.FieldIterator iterator)Decode a Boolean field and store the value into the index-th element.protected java.lang.String_decodeStringField(int index, GTIngredient.FieldIterator iterator)Decode a string field and store the value into the index-th element.protected void_encodeBooleanField(java.lang.StringBuffer buffer, int index, boolean value)Encode a Boolean field with the given value using the enablement of the index-th element, and append the encoded string to the end of the buffer.protected void_encodeStringField(java.lang.StringBuffer buffer, int index, java.lang.String value)Encode a string field with the given value using the enablement of the index-th element, and append the encoded string to the end of the buffer.protected static java.lang.String_escapeElementString(java.lang.String elementString)Escape a string that describes the value of a single element, so that it is enclosed in quotes and between the quotes, there are no quotes (single or double) or backslashes.protected static int_findMatchingParen(java.lang.String s, int startPos)Find the closing parenthesis that matches the the open parenthesis at startPos position in string s.protected static int_findSeparator(java.lang.String s, int startPos, char separator)Find the separator character in string s starting from position startPos.protected static java.lang.String_unescapeElementString(java.lang.String elementString)Unescape a string that has been escaped previously from an original string that describes the value of a single element, and get back the original string.voiddisableAll()Disable all elements.voidenableAll()Enable all elements.abstract GTIngredientElement[]getElements()Get the array of elements defined in this GTIngredient.GTIngredientListgetOwner()Get the list that contains this GTIngredient.abstract java.lang.ObjectgetValue(int index)Get the value of the index-th elements.abstract java.lang.StringgetValues()Get a string that describes the values of all the elements.booleanisApplicable(NamedObj object)Check whether this GTIngredient is applicable to the object.booleanisEnabled(int index)Check whether the index-th element is enabled.voidsetEnabled(int index, boolean isEnabled)Set the enablement of the index-th element.abstract voidsetValue(int index, java.lang.Object value)Set the value of the index-th element.abstract voidsetValues(java.lang.String values)Set the values of all the elements with a string that describes them.java.lang.StringtoString()Return a readable string about this GTIngredient.abstract voidvalidate()Validate the enablements and values of all the elements.
-
-
-
Field Detail
-
FIELD_SEPARATOR
public static final char FIELD_SEPARATOR
The string to separate elements in a string that describes their values.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
GTIngredient
protected GTIngredient(GTIngredientList owner, int elementCount)
Construct a GTIngredient within the given list as its owner containing a given number of elements. All elements are enabled at the beginning.- Parameters:
owner- The list as the owner of the constructed GTIngredientList.elementCount- The number of elements that the GTIngredient has.
-
-
Method Detail
-
disableAll
public void disableAll()
Disable all elements.
-
enableAll
public void enableAll()
Enable all elements.
-
getElements
public abstract GTIngredientElement[] getElements()
Get the array of elements defined in this GTIngredient.- Returns:
- The array of elements.
-
getOwner
public GTIngredientList getOwner()
Get the list that contains this GTIngredient.- Returns:
- The list.
-
getValue
public abstract java.lang.Object getValue(int index)
Get the value of the index-th elements.- Parameters:
index- The index.- Returns:
- The value.
- See Also:
setValue(int, Object)
-
getValues
public abstract java.lang.String getValues()
Get a string that describes the values of all the elements.- Returns:
- A string that describes the values of all the elements.
- See Also:
setValues(String)
-
isApplicable
public boolean isApplicable(NamedObj object)
Check whether this GTIngredient is applicable to the object.- Parameters:
object- The object.- Returns:
- true if this GTIngredient is applicable; false otherwise.
-
isEnabled
public boolean isEnabled(int index)
Check whether the index-th element is enabled.- Parameters:
index- The index.- Returns:
- true if the index-th element is enabled; false otherwise.
- See Also:
setEnabled(int, boolean)
-
setEnabled
public void setEnabled(int index, boolean isEnabled)Set the enablement of the index-th element.- Parameters:
index- The index.isEnabled- true if the element is set to be enabled; false if it is disabled.- See Also:
isEnabled(int)
-
setValue
public abstract void setValue(int index, java.lang.Object value)Set the value of the index-th element.- Parameters:
index- The index.value- The value.- See Also:
getValue(int)
-
setValues
public abstract void setValues(java.lang.String values)
Set the values of all the elements with a string that describes them.- Parameters:
values- A string that describes the new values of all the elements.- See Also:
getValues()
-
toString
public java.lang.String toString()
Return a readable string about this GTIngredient.- Overrides:
toStringin classjava.lang.Object- Returns:
- A string.
-
validate
public abstract void validate() throws ValidationExceptionValidate the enablements and values of all the elements.- Throws:
ValidationException- If some elements are invalid.
-
_decodeBooleanField
protected boolean _decodeBooleanField(int index, GTIngredient.FieldIterator iterator)Decode a Boolean field and store the value into the index-th element.- Parameters:
index- The index.iterator- The iterator used to iterate over all fields in a string describing all the values.- Returns:
- The value of the field.
-
_decodeStringField
protected java.lang.String _decodeStringField(int index, GTIngredient.FieldIterator iterator)Decode a string field and store the value into the index-th element.- Parameters:
index- The index.iterator- The iterator used to iterate over all fields in a string describing all the values.- Returns:
- The value of the field.
-
_encodeBooleanField
protected void _encodeBooleanField(java.lang.StringBuffer buffer, int index, boolean value)Encode a Boolean field with the given value using the enablement of the index-th element, and append the encoded string to the end of the buffer.- Parameters:
buffer- The buffer.index- The index.value- The value to be encoded.
-
_encodeStringField
protected void _encodeStringField(java.lang.StringBuffer buffer, int index, java.lang.String value)Encode a string field with the given value using the enablement of the index-th element, and append the encoded string to the end of the buffer.- Parameters:
buffer- The buffer.index- The index.value- The value to be encoded.
-
_escapeElementString
protected static java.lang.String _escapeElementString(java.lang.String elementString)
Escape a string that describes the value of a single element, so that it is enclosed in quotes and between the quotes, there are no quotes (single or double) or backslashes.- Parameters:
elementString- The string to be escaped.- Returns:
- The escaped string.
- See Also:
_unescapeElementString(String)
-
_findMatchingParen
protected static int _findMatchingParen(java.lang.String s, int startPos)Find the closing parenthesis that matches the the open parenthesis at startPos position in string s.- Parameters:
s- The string.startPos- The position of the open parenthesis to be matched.- Returns:
- The position of the matching close parenthesis, or -1 if either the character at position startPos is not an open parenthesis or it is an open parenthesis but is not matched.
-
_findSeparator
protected static int _findSeparator(java.lang.String s, int startPos, char separator)Find the separator character in string s starting from position startPos. If the separator is preceded with a backslash, then it is escaped and would not be returned. The string may have quoted substrings, and the contents between the quotes are not search.- Parameters:
s- The string.startPos- The start position.separator- The separator character.- Returns:
- The position of the separator, if found, or -1 otherwise.
-
_unescapeElementString
protected static java.lang.String _unescapeElementString(java.lang.String elementString)
Unescape a string that has been escaped previously from an original string that describes the value of a single element, and get back the original string.- Parameters:
elementString- The string to be unescaped.- Returns:
- The unescaped string.
- See Also:
_escapeElementString(String)
-
-