|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectptolemy.kernel.util.NamedObj
ptolemy.kernel.util.Attribute
ptolemy.kernel.util.AbstractSettableAttribute
ptolemy.data.expr.Variable
ptolemy.data.expr.Parameter
ptolemy.actor.gt.IterativeParameter
public class IterativeParameter
A special parameter in the pattern that can take various values in pattern.
matching. In a transformation, the pattern matching algorithm may try to use
all the allowed values one by one by invoking the methods initial()
and next()
, until either the latter method throws an IllegalActionException
or the pattern matching terminates. With this
parameter, it is possible to define a pattern with variable structures, which
depend on the values of this parameter.
Red (tfeng) |
Yellow (tfeng) |
Nested Class Summary | |
---|---|
class |
IterativeParameter.ConstraintViolationException
The exception to denote that the constraint is violated and no more values are available. |
static class |
IterativeParameter.Mode
The modes of this parameter. |
Nested classes/interfaces inherited from class ptolemy.data.expr.Variable |
---|
Variable.VariableScope |
Nested classes/interfaces inherited from class ptolemy.kernel.util.NamedObj |
---|
NamedObj.ContainedObjectsIterator |
Nested classes/interfaces inherited from interface ptolemy.kernel.util.Settable |
---|
Settable.Visibility |
Field Summary | |
---|---|
private boolean |
_foundMatch
Whether a match has been found. |
Parameter |
constraint
The constraint that all values must satisfy. |
Parameter |
initial
The initial value. |
ChoiceParameter |
mode
The mode of this parameter. |
Parameter |
next
The next value (computed based on the current value). |
Fields inherited from class ptolemy.data.expr.Variable |
---|
_currentExpression, _needsEvaluation, _parserScope, _parseTreeValid, _valueListeners |
Fields inherited from class ptolemy.kernel.util.NamedObj |
---|
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Fields inherited from interface ptolemy.kernel.util.Settable |
---|
EXPERT, FULL, NONE, NOT_EDITABLE |
Constructor Summary | |
---|---|
IterativeParameter(NamedObj container,
java.lang.String name)
Construct a parameter with the given name contained by the specified entity. |
Method Summary | |
---|---|
protected void |
_validateConstraint()
Validate the constraint. |
void |
attributeChanged(Attribute attribute)
React to a change in an attribute. |
java.lang.Object |
clone(Workspace workspace)
Clone the variable. |
boolean |
foundMatch(GraphMatcher matcher)
A routine to be called when a match is found in the graph matching. |
Token |
initial()
Set the value of this parameter to be the initial value, and return that initial value. |
Token |
next()
Set the value of this parameter to be the next acceptable value, and return that value. |
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.Parameter |
---|
addChoice, exportMoML, getChoices, removeAllChoices, removeChoice |
Methods inherited from class ptolemy.kernel.util.AbstractSettableAttribute |
---|
getDefaultExpression |
Methods inherited from class ptolemy.kernel.util.Attribute |
---|
_checkContainer, _getContainedObject, _propagateExistence, getContainer, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, updateContent |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface ptolemy.actor.gt.ValueIterator |
---|
getToken, setToken |
Methods inherited from interface ptolemy.kernel.util.Settable |
---|
addValueListener, getDefaultExpression, getDisplayName, getExpression, getValueAsString, getVisibility, removeValueListener, setExpression, setVisibility |
Methods inherited from interface ptolemy.kernel.util.Nameable |
---|
description, getContainer, getFullName, getName, getName, setName |
Field Detail |
---|
public Parameter constraint
public Parameter initial
public ChoiceParameter mode
IterativeParameter.Mode
public Parameter next
private boolean _foundMatch
Constructor Detail |
---|
public IterativeParameter(NamedObj container, java.lang.String name) throws IllegalActionException, NameDuplicationException
container
- The container.name
- The name of the parameter.
IllegalActionException
- If the parameter is not of an
acceptable class for the container.
NameDuplicationException
- If the name coincides with
a parameter already in the container.Method Detail |
---|
public void attributeChanged(Attribute attribute) throws IllegalActionException
attributeChanged
in class NamedObj
attribute
- The attribute that changed.
IllegalActionException
- If the change is not acceptable
to this container (not thrown in this base class).public java.lang.Object clone(Workspace workspace) throws java.lang.CloneNotSupportedException
clone
in class Variable
workspace
- The workspace in which to place the cloned variable.
java.lang.CloneNotSupportedException
- Not thrown in this base class.Object.clone()
public boolean foundMatch(GraphMatcher matcher)
GraphMatcher.getMatchResult()
.
This match result should not be kept, however, because it may be changed
by future matching operations. To keep a copy of this result, invoke
MatchResult.clone()
and keep the cloned copy. The return value
indicates whether the match is the one looked for. If it is
true, the matching will terminate after this routine returns,
and no more match result will be reported.
foundMatch
in interface MatchCallback
matcher
- The graph matcher.
public Token initial() throws IllegalActionException
initial
in interface ValueIterator
IllegalActionException
- If the initial value cannot be set.public Token next() throws IllegalActionException
next
in interface ValueIterator
IllegalActionException
- If the next value cannot be set.public java.util.Collection<?> validate() throws IllegalActionException
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.
validate
in interface Settable
validate
in class Variable
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.protected void _validateConstraint() throws IllegalActionException
IllegalActionException
- If the constraint is violated, or if
the current value of the parameter cannot be retrieved.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |