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
- 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
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.
ReferenceExp
public ReferenceExp(String name)
ReferenceExp
public ReferenceExp(String name,
Expression exp)
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)
- Overrides:
equals
in class Expression
visit
public final Object visit(ExpressionVisitor visitor)
- Overrides:
visit
in class Expression
visit
public final Expression visit(ExpressionVisitorExpression visitor)
- Overrides:
visit
in class Expression
visit
public final boolean visit(ExpressionVisitorBoolean visitor)
- Overrides:
visit
in class Expression
visit
public final void visit(ExpressionVisitorVoid visitor)
- Overrides:
visit
in class Expression