com.sun.msv.grammar

Class ExpressionCloner

Implemented Interfaces:
ExpressionVisitorExpression
Known Direct Subclasses:
AttributePruner, AttributeRemover, IslandSchemaImpl.Binder, RefExpRemover

public abstract class ExpressionCloner
extends Object
implements ExpressionVisitorExpression

clones an expression.

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.

Author:
Kohsuke KAWAGUCHI

Method Summary

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)

Method Details

onAnyString

public Expression onAnyString()
Specified by:
onAnyString in interface ExpressionVisitorExpression

onChoice

public Expression onChoice(ChoiceExp exp)
Specified by:
onChoice in interface ExpressionVisitorExpression

onConcur

public Expression onConcur(ConcurExp exp)
Specified by:
onConcur in interface ExpressionVisitorExpression

onData

public Expression onData(DataExp exp)
Specified by:
onData in interface ExpressionVisitorExpression

onEpsilon

public Expression onEpsilon()
Specified by:
onEpsilon in interface ExpressionVisitorExpression

onInterleave

public Expression onInterleave(InterleaveExp exp)
Specified by:
onInterleave in interface ExpressionVisitorExpression

onList

public Expression onList(ListExp exp)
Specified by:
onList in interface ExpressionVisitorExpression

onMixed

public Expression onMixed(MixedExp exp)
Specified by:
onMixed in interface ExpressionVisitorExpression

onNullSet

public Expression onNullSet()
Specified by:
onNullSet in interface ExpressionVisitorExpression

onOneOrMore

public Expression onOneOrMore(OneOrMoreExp exp)
Specified by:
onOneOrMore in interface ExpressionVisitorExpression

onSequence

public Expression onSequence(SequenceExp exp)
Specified by:
onSequence in interface ExpressionVisitorExpression

onValue

public Expression onValue(ValueExp exp)
Specified by:
onValue in interface ExpressionVisitorExpression