Top Description Fields Constructors Methods
com.sun.msv.grammar

public Class ReferenceExp

extends Expression
Class Inheritance
Known Direct Subclasses
com.sun.msv.grammar.relax.AttPoolClause, com.sun.msv.grammar.relax.ElementRules, com.sun.msv.grammar.relax.HedgeRules, com.sun.msv.grammar.relax.TagClause, com.sun.msv.grammar.trex.TREXGrammar, com.sun.msv.grammar.xmlschema.AttributeDeclExp, com.sun.msv.grammar.xmlschema.ElementDeclExp, com.sun.msv.grammar.xmlschema.RedefinableExp, com.sun.msv.reader.datatype.xsd.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

Field Summary

Modifier and TypeField and Description
public Expression
exp

child expression.

public final String
name

name of the referenced expression.

private static final long
Inherited from com.sun.msv.grammar.Expression:
anyStringepsilonnullSetverifierTag

Constructor Summary

AccessConstructor and Description
public
public

Method Summary

Modifier and TypeMethod and Description
protected boolean
calcEpsilonReducibility()

Implements abstract com.sun.msv.grammar.Expression.calcEpsilonReducibility.

computes epsilon reducibility
protected final int
calcHashCode()

Implements abstract com.sun.msv.grammar.Expression.calcHashCode.

Computes the hashCode again.
public boolean
equals(Object
the reference object with which to compare.
o
)

Implements abstract com.sun.msv.grammar.Expression.equals.

Indicates whether some other object is "equal to" this one.
public boolean
isDefined()

checks if this ReferenceExp is properly defined.

public final Object
public final Expression
public final boolean
public final void
Inherited from com.sun.msv.grammar.Expression:
getExpandedExphashCodehashCodehashCodeisEpsilonReduciblepeelOccurencereadResolvevisitvisitvisitvisit

Field Detail

expback to summary
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.

nameback to summary
public final String name

name of the referenced expression. can be null for anonymously referenced expression.

serialVersionUIDback to summary
private static final long serialVersionUID

Hides com.sun.msv.grammar.Expression.serialVersionUID.

Constructor Detail

ReferenceExpback to summary
public ReferenceExp(String name)
ReferenceExpback to summary
public ReferenceExp(String name, Expression exp)

Method Detail

calcEpsilonReducibilityback to summary
protected boolean calcEpsilonReducibility()

Implements abstract com.sun.msv.grammar.Expression.calcEpsilonReducibility.

Doc from com.sun.msv.grammar.Expression.calcEpsilonReducibility.

computes epsilon reducibility

calcHashCodeback to summary
protected final int calcHashCode()

Implements abstract com.sun.msv.grammar.Expression.calcHashCode.

Doc from com.sun.msv.grammar.Expression.calcHashCode.

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.

equalsback to summary
public boolean equals(Object o)

Implements abstract com.sun.msv.grammar.Expression.equals.

Doc from java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
o:Object

the reference object with which to compare.

Returns:boolean

true if this object is the same as the obj argument; false otherwise.

isDefinedback to summary
public boolean isDefined()

checks if this ReferenceExp is properly defined. this method is used to detect undeclared definitions. Derived classes can override this method.

visitback to summary
public final Object visit(ExpressionVisitor visitor)

Implements abstract com.sun.msv.grammar.Expression.visit.

visitback to summary
public final Expression visit(ExpressionVisitorExpression visitor)

Implements abstract com.sun.msv.grammar.Expression.visit.

visitback to summary
public final boolean visit(ExpressionVisitorBoolean visitor)

Implements abstract com.sun.msv.grammar.Expression.visit.

visitback to summary
public final void visit(ExpressionVisitorVoid visitor)

Implements abstract com.sun.msv.grammar.Expression.visit.