Package com.sun.msv.grammar
Class ReferenceExp
java.lang.Object
com.sun.msv.grammar.Expression
com.sun.msv.grammar.ReferenceExp
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
AttPoolClause,AttributeDeclExp,ElementDeclExp,ElementRules,HedgeRules,RedefinableExp,TagClause,TREXGrammar,XSDatatypeExp
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.
- Author:
- Kohsuke KAWAGUCHI
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionchild expression.final Stringname of the referenced expression.Fields inherited from class com.sun.msv.grammar.Expression
anyString, epsilon, nullSet, verifierTag -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleancomputes epsilon reducibilityprotected final intComputes the hashCode again.booleanbooleanchecks if this ReferenceExp is properly defined.final Objectvisit(ExpressionVisitor visitor) final booleanvisit(ExpressionVisitorBoolean visitor) final Expressionvisit(ExpressionVisitorExpression visitor) final voidvisit(ExpressionVisitorVoid visitor) Methods inherited from class com.sun.msv.grammar.Expression
getExpandedExp, hashCode, hashCode, hashCode, isEpsilonReducible, peelOccurence, readResolve, visit, visit, visit, visit
-
Field Details
-
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
name of the referenced expression. can be null for anonymously referenced expression.
-
-
Constructor Details
-
ReferenceExp
-
ReferenceExp
-
-
Method Details
-
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
- Specified by:
equalsin classExpression
-
calcEpsilonReducibility
protected boolean calcEpsilonReducibility()Description copied from class:Expressioncomputes epsilon reducibility- Specified by:
calcEpsilonReducibilityin classExpression
-
visit
- Specified by:
visitin classExpression
-
visit
- Specified by:
visitin classExpression
-
visit
- Specified by:
visitin classExpression
-
visit
- Specified by:
visitin classExpression
-