Package com.sun.msv.grammar.util
Class RefExpRemover
- java.lang.Object
-
- com.sun.msv.grammar.ExpressionCloner
-
- com.sun.msv.grammar.util.RefExpRemover
-
- All Implemented Interfaces:
ExpressionVisitorExpression
public class RefExpRemover extends ExpressionCloner
removes all ReferenceExp from AGM. when named expression is nullSet, it cannot be used. by replacing ReferenceExp by its definition, those unavailable expressions will be properly removed from AGM.
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
recursive
private java.util.Set
visitedElements
set of visited ElementExps-
Fields inherited from class com.sun.msv.grammar.ExpressionCloner
pool
-
-
Constructor Summary
Constructors Constructor Description RefExpRemover(ExpressionPool pool, boolean _recursive)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Expression
onAttribute(AttributeExp exp)
Expression
onElement(ElementExp exp)
Expression
onOther(OtherExp exp)
Expression
onRef(ReferenceExp exp)
-
Methods inherited from class com.sun.msv.grammar.ExpressionCloner
onAnyString, onChoice, onConcur, onData, onEpsilon, onInterleave, onList, onMixed, onNullSet, onOneOrMore, onSequence, onValue
-
-
-
-
Constructor Detail
-
RefExpRemover
public RefExpRemover(ExpressionPool pool, boolean _recursive)
- Parameters:
_recursive
-If true, this object behaves destructively. It recursively visits all the reachable expressions and removes ReferenceExps. In this process, this object changes the content model of ElementExps.
If false, this object doesn't visit the content models of child elements, therefore, it behaves non-destructively. Nothing in the original expression will be touched.
-
-
Method Detail
-
onElement
public Expression onElement(ElementExp exp)
-
onAttribute
public Expression onAttribute(AttributeExp exp)
-
onRef
public Expression onRef(ReferenceExp exp)
-
onOther
public Expression onOther(OtherExp exp)
-
-