public abstract class ExpressionCloner extends java.lang.Object implements ExpressionVisitorExpression
By visiting an expression, returns a cloned expression.
This class is useless by itself since expressions are shared and unified. It should be used as a base class for various AGM-related tasks to modify AGM.
Note that this class doesn't provide default implementations for onAttribute, onElement, and onRef methods. Typically, the derived class needs to do something to prevent infinite recursion.
Modifier and Type | Field and Description |
---|---|
protected ExpressionPool |
pool |
Modifier | Constructor and Description |
---|---|
protected |
ExpressionCloner(ExpressionPool pool) |
Modifier and Type | Method and Description |
---|---|
Expression |
onAnyString() |
Expression |
onChoice(ChoiceExp exp) |
Expression |
onConcur(ConcurExp exp) |
Expression |
onData(DataExp exp) |
Expression |
onEpsilon() |
Expression |
onInterleave(InterleaveExp exp) |
Expression |
onList(ListExp exp) |
Expression |
onMixed(MixedExp exp) |
Expression |
onNullSet() |
Expression |
onOneOrMore(OneOrMoreExp exp) |
Expression |
onSequence(SequenceExp exp) |
Expression |
onValue(ValueExp exp) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
onAttribute, onElement, onOther, onRef
protected final ExpressionPool pool
protected ExpressionCloner(ExpressionPool pool)
public Expression onChoice(ChoiceExp exp)
onChoice
in interface ExpressionVisitorExpression
public Expression onOneOrMore(OneOrMoreExp exp)
onOneOrMore
in interface ExpressionVisitorExpression
public Expression onMixed(MixedExp exp)
onMixed
in interface ExpressionVisitorExpression
public Expression onList(ListExp exp)
onList
in interface ExpressionVisitorExpression
public Expression onSequence(SequenceExp exp)
onSequence
in interface ExpressionVisitorExpression
public Expression onConcur(ConcurExp exp)
onConcur
in interface ExpressionVisitorExpression
public Expression onInterleave(InterleaveExp exp)
onInterleave
in interface ExpressionVisitorExpression
public Expression onEpsilon()
onEpsilon
in interface ExpressionVisitorExpression
public Expression onNullSet()
onNullSet
in interface ExpressionVisitorExpression
public Expression onAnyString()
onAnyString
in interface ExpressionVisitorExpression
public Expression onData(DataExp exp)
onData
in interface ExpressionVisitorExpression
public Expression onValue(ValueExp exp)
onValue
in interface ExpressionVisitorExpression