Package com.sun.msv.grammar
Class ReferenceExp
- java.lang.Object
-
- com.sun.msv.grammar.Expression
-
- com.sun.msv.grammar.ReferenceExp
-
- All Implemented Interfaces:
java.io.Serializable
- Direct Known Subclasses:
AttPoolClause,AttributeDeclExp,ElementDeclExp,ElementRules,HedgeRules,RedefinableExp,TagClause,TREXGrammar,XSDatatypeExp
public class ReferenceExp extends Expression
Reference to the other expression.In RELAX grammar, this class is used as a base class of elementRule reference and hedgeRule reference. TREX uses this class directly.
This object is created and controlled by TREXGrammar/RELAXModule object, rather than ExpressionPool. Therefore, this object is not a subject to unification.
This class can be derived. In fact, many classes derive this class.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description Expressionexpchild expression.java.lang.Stringnamename of the referenced expression.private static longserialVersionUID-
Fields inherited from class com.sun.msv.grammar.Expression
anyString, epsilon, nullSet, verifierTag
-
-
Constructor Summary
Constructors Constructor Description ReferenceExp(java.lang.String name)ReferenceExp(java.lang.String name, Expression exp)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleancalcEpsilonReducibility()computes epsilon reducibilityprotected intcalcHashCode()Computes the hashCode again.booleanequals(java.lang.Object o)booleanisDefined()checks if this ReferenceExp is properly defined.java.lang.Objectvisit(ExpressionVisitor visitor)booleanvisit(ExpressionVisitorBoolean visitor)Expressionvisit(ExpressionVisitorExpression visitor)voidvisit(ExpressionVisitorVoid visitor)-
Methods inherited from class com.sun.msv.grammar.Expression
getExpandedExp, hashCode, hashCode, hashCode, isEpsilonReducible, peelOccurence, readResolve, visit, visit, visit, visit
-
-
-
-
Field Detail
-
exp
public Expression exp
child expression. Due to the possible forward reference, this variable is not available when the object is instanciated. Actual expression will be set once if the definition is parsed.
-
name
public final java.lang.String name
name of the referenced expression. can be null for anonymously referenced expression.
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ReferenceExp
public ReferenceExp(java.lang.String name)
-
ReferenceExp
public ReferenceExp(java.lang.String name, Expression exp)
-
-
Method Detail
-
calcHashCode
protected final int calcHashCode()
Description copied from class:ExpressionComputes the hashCode again.This method and the parameter to the constructor has to be the same. This method is used when the object is being read from the stream.
- Specified by:
calcHashCodein classExpression
-
isDefined
public boolean isDefined()
checks if this ReferenceExp is properly defined. this method is used to detect undeclared definitions. Derived classes can override this method.
-
equals
public boolean equals(java.lang.Object o)
- Specified by:
equalsin classExpression
-
calcEpsilonReducibility
protected boolean calcEpsilonReducibility()
Description copied from class:Expressioncomputes epsilon reducibility- Specified by:
calcEpsilonReducibilityin classExpression
-
visit
public final java.lang.Object visit(ExpressionVisitor visitor)
- Specified by:
visitin classExpression
-
visit
public final Expression visit(ExpressionVisitorExpression visitor)
- Specified by:
visitin classExpression
-
visit
public final boolean visit(ExpressionVisitorBoolean visitor)
- Specified by:
visitin classExpression
-
visit
public final void visit(ExpressionVisitorVoid visitor)
- Specified by:
visitin classExpression
-
-