Package com.sun.msv.grammar
Class ExpressionCloner
- java.lang.Object
-
- com.sun.msv.grammar.ExpressionCloner
-
- All Implemented Interfaces:
ExpressionVisitorExpression
- Direct Known Subclasses:
AttributePruner,AttributeRemover,ContentModelRefExpRemover.Remover,ExportedAttPoolGenerator,IslandSchemaImpl.Binder,NoneTypeRemover,RefExpRemover,SchemaLocationRemover
public abstract class ExpressionCloner extends java.lang.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.
-
-
Field Summary
Fields Modifier and Type Field Description protected ExpressionPoolpool
-
Constructor Summary
Constructors Modifier Constructor Description protectedExpressionCloner(ExpressionPool pool)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ExpressiononAnyString()ExpressiononChoice(ChoiceExp exp)ExpressiononConcur(ConcurExp exp)ExpressiononData(DataExp exp)ExpressiononEpsilon()ExpressiononInterleave(InterleaveExp exp)ExpressiononList(ListExp exp)ExpressiononMixed(MixedExp exp)ExpressiononNullSet()ExpressiononOneOrMore(OneOrMoreExp exp)ExpressiononSequence(SequenceExp exp)ExpressiononValue(ValueExp exp)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.sun.msv.grammar.ExpressionVisitorExpression
onAttribute, onElement, onOther, onRef
-
-
-
-
Field Detail
-
pool
protected final ExpressionPool pool
-
-
Constructor Detail
-
ExpressionCloner
protected ExpressionCloner(ExpressionPool pool)
-
-
Method Detail
-
onChoice
public Expression onChoice(ChoiceExp exp)
- Specified by:
onChoicein interfaceExpressionVisitorExpression
-
onOneOrMore
public Expression onOneOrMore(OneOrMoreExp exp)
- Specified by:
onOneOrMorein interfaceExpressionVisitorExpression
-
onMixed
public Expression onMixed(MixedExp exp)
- Specified by:
onMixedin interfaceExpressionVisitorExpression
-
onList
public Expression onList(ListExp exp)
- Specified by:
onListin interfaceExpressionVisitorExpression
-
onSequence
public Expression onSequence(SequenceExp exp)
- Specified by:
onSequencein interfaceExpressionVisitorExpression
-
onConcur
public Expression onConcur(ConcurExp exp)
- Specified by:
onConcurin interfaceExpressionVisitorExpression
-
onInterleave
public Expression onInterleave(InterleaveExp exp)
- Specified by:
onInterleavein interfaceExpressionVisitorExpression
-
onEpsilon
public Expression onEpsilon()
- Specified by:
onEpsilonin interfaceExpressionVisitorExpression
-
onNullSet
public Expression onNullSet()
- Specified by:
onNullSetin interfaceExpressionVisitorExpression
-
onAnyString
public Expression onAnyString()
- Specified by:
onAnyStringin interfaceExpressionVisitorExpression
-
onData
public Expression onData(DataExp exp)
- Specified by:
onDatain interfaceExpressionVisitorExpression
-
onValue
public Expression onValue(ValueExp exp)
- Specified by:
onValuein interfaceExpressionVisitorExpression
-
-