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
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.
- Author:
- Kohsuke KAWAGUCHI
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description Expression
exp
child expression.String
name
name of the referenced expression.-
Fields inherited from class com.sun.msv.grammar.Expression
anyString, epsilon, nullSet, verifierTag
-
-
Constructor Summary
Constructors Constructor Description ReferenceExp(String name)
ReferenceExp(String name, Expression exp)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
calcEpsilonReducibility()
computes epsilon reducibilityprotected int
calcHashCode()
Computes the hashCode again.boolean
equals(Object o)
boolean
isDefined()
checks if this ReferenceExp is properly defined.Object
visit(ExpressionVisitor visitor)
boolean
visit(ExpressionVisitorBoolean visitor)
Expression
visit(ExpressionVisitorExpression visitor)
void
visit(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 String name
name of the referenced expression. can be null for anonymously referenced expression.
-
-
Constructor Detail
-
ReferenceExp
public ReferenceExp(String name)
-
ReferenceExp
public ReferenceExp(String name, Expression exp)
-
-
Method Detail
-
calcHashCode
protected final int calcHashCode()
Description copied from class:Expression
Computes 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:
calcHashCode
in 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(Object o)
- Specified by:
equals
in classExpression
-
calcEpsilonReducibility
protected boolean calcEpsilonReducibility()
Description copied from class:Expression
computes epsilon reducibility- Specified by:
calcEpsilonReducibility
in classExpression
-
visit
public final Object visit(ExpressionVisitor visitor)
- Specified by:
visit
in classExpression
-
visit
public final Expression visit(ExpressionVisitorExpression visitor)
- Specified by:
visit
in classExpression
-
visit
public final boolean visit(ExpressionVisitorBoolean visitor)
- Specified by:
visit
in classExpression
-
visit
public final void visit(ExpressionVisitorVoid visitor)
- Specified by:
visit
in classExpression
-
-