ptolemy.actor.gt.ingredients.operations
Class PortCreationOperation

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

public class PortCreationOperation
extends Operation

An operation to create a port.

Since:
Ptolemy II 8.0
Version:
$Id: PortCreationOperation.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  boolean _autoRename
          Value of the autoRename element.
private static OperationElement[] _ELEMENTS
          The elements.
private  boolean _input
          Value of the input element.
private  boolean _multiport
          Value of the multiport element.
private  boolean _output
          Value of the output element.
private  java.lang.String _portClass
          Value of the portClass element.
private  java.lang.String _portName
          Value of the portName element.
private  PtolemyExpressionString _portType
          Value of the portType element.
 
Fields inherited from class ptolemy.actor.gt.ingredients.operations.Operation
_parseTreeWriter
 
Fields inherited from class ptolemy.actor.gt.GTIngredient
FIELD_SEPARATOR
 
Constructor Summary
PortCreationOperation(GTIngredientList owner)
          Construct an operation within the given list as its owner.
PortCreationOperation(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.
PortCreationOperation(GTIngredientList owner, java.lang.String portName, java.lang.String portClass, java.lang.String portType, boolean input, boolean output, boolean multiport, boolean autoRename)
          Construct an operation within the given list as its owner and with the given value to each of its elements..
 
Method Summary
 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 isApplicable(NamedObj object)
          Check whether this GTIngredient is applicable to the object.
 boolean isPortClassEnabled()
          Return whether the portClass element is enabled.
 boolean isPortTypeEnabled()
          Return whether the portType element is enabled.
 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, 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.


_autoRename

private boolean _autoRename
Value of the autoRename element.


_input

private boolean _input
Value of the input element.


_multiport

private boolean _multiport
Value of the multiport element.


_output

private boolean _output
Value of the output element.


_portClass

private java.lang.String _portClass
Value of the portClass element.


_portName

private java.lang.String _portName
Value of the portName element.


_portType

private PtolemyExpressionString _portType
Value of the portType element.

Constructor Detail

PortCreationOperation

public PortCreationOperation(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.

PortCreationOperation

public PortCreationOperation(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.

PortCreationOperation

public PortCreationOperation(GTIngredientList owner,
                             java.lang.String portName,
                             java.lang.String portClass,
                             java.lang.String portType,
                             boolean input,
                             boolean output,
                             boolean multiport,
                             boolean autoRename)
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.
portName - Value of the portName element.
portClass - Value of the portClass element.
portType - Value of the portType element.
input - Value of the input element.
output - Value of the output element.
multiport - Value of the multiport element.
autoRename - Value of the autoRename 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)

isApplicable

public boolean isApplicable(NamedObj object)
Check whether this GTIngredient is applicable to the object.

Overrides:
isApplicable in class GTIngredient
Parameters:
object - The object.
Returns:
true if this GTIngredient is applicable; false otherwise.

isPortClassEnabled

public boolean isPortClassEnabled()
Return whether the portClass element is enabled.

Returns:
true if the portClass element is enabled.

isPortTypeEnabled

public boolean isPortTypeEnabled()
Return whether the portType element is enabled.

Returns:
true if the portType element is enabled.

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.