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 ExpressionPool
pool
-
Constructor Summary
Constructors Modifier Constructor Description protected
ExpressionCloner(ExpressionPool pool)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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)
-
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:
onChoice
in interfaceExpressionVisitorExpression
-
onOneOrMore
public Expression onOneOrMore(OneOrMoreExp exp)
- Specified by:
onOneOrMore
in interfaceExpressionVisitorExpression
-
onMixed
public Expression onMixed(MixedExp exp)
- Specified by:
onMixed
in interfaceExpressionVisitorExpression
-
onList
public Expression onList(ListExp exp)
- Specified by:
onList
in interfaceExpressionVisitorExpression
-
onSequence
public Expression onSequence(SequenceExp exp)
- Specified by:
onSequence
in interfaceExpressionVisitorExpression
-
onConcur
public Expression onConcur(ConcurExp exp)
- Specified by:
onConcur
in interfaceExpressionVisitorExpression
-
onInterleave
public Expression onInterleave(InterleaveExp exp)
- Specified by:
onInterleave
in interfaceExpressionVisitorExpression
-
onEpsilon
public Expression onEpsilon()
- Specified by:
onEpsilon
in interfaceExpressionVisitorExpression
-
onNullSet
public Expression onNullSet()
- Specified by:
onNullSet
in interfaceExpressionVisitorExpression
-
onAnyString
public Expression onAnyString()
- Specified by:
onAnyString
in interfaceExpressionVisitorExpression
-
onData
public Expression onData(DataExp exp)
- Specified by:
onData
in interfaceExpressionVisitorExpression
-
onValue
public Expression onValue(ValueExp exp)
- Specified by:
onValue
in interfaceExpressionVisitorExpression
-
-