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

public abstract Class ElementExp

extends Expression
implements NameClassAndExpression
Class Inheritance
All Implemented Interfaces
com.sun.msv.grammar.NameClassAndExpression
Known Direct Subclasses
com.sun.msv.grammar.relax.ElementRule, com.sun.msv.grammar.trex.ElementPattern, com.sun.msv.grammar.xmlschema.ElementDeclExp.XSElementExp, com.sun.msv.relaxns.grammar.ExternalElementExp, com.sun.msv.relaxns.grammar.relax.AnyOtherElementExp

Element declaration. For RELAX, this is a base implementation of 'elementRule' declaration. For TREX, this is a base implementation of 'element' pattern. Each grammar must/can provide only one concrete implementation. Therefore, they cannot override visit method.

This class can be extended.

Author
Kohsuke KAWAGUCHI

Field Summary

Modifier and TypeField and Description
public Expression
contentModel

content model of this element declaration.

public boolean
ignoreUndeclaredAttributes

a flag that indicates undeclared attributes should be ignored.

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

Constructor Summary

AccessConstructor and Description
public
ElementExp(Expression contentModel, boolean ignoreUndeclaredAttributes)

Method Summary

Modifier and TypeMethod and Description
protected final 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 final 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 final Expression
public abstract NameClass
getNameClass()

Redeclares com.sun.msv.grammar.NameClassAndExpression.getNameClass.

obtains a constraint over tag name.
public final Object
public final Expression
public final boolean
public final void
Inherited from com.sun.msv.grammar.Expression:
getExpandedExphashCodehashCodehashCodeisEpsilonReduciblepeelOccurencereadResolvevisitvisitvisitvisit

Field Detail

contentModelback to summary
public Expression contentModel

content model of this element declaration.

ignoreUndeclaredAttributesback to summary
public boolean ignoreUndeclaredAttributes

a flag that indicates undeclared attributes should be ignored.

serialVersionUIDback to summary
private static final long serialVersionUID

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

Constructor Detail

ElementExpback to summary
public ElementExp(Expression contentModel, boolean ignoreUndeclaredAttributes)

Method Detail

calcEpsilonReducibilityback to summary
protected final 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 final 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.

getContentModelback to summary
public final Expression getContentModel()

Implements com.sun.msv.grammar.NameClassAndExpression.getContentModel.

getNameClassback to summary
public abstract NameClass getNameClass()

Redeclares com.sun.msv.grammar.NameClassAndExpression.getNameClass.

obtains a constraint over tag name. ElementExp is cannot be shared because NameClass has to be mutable to absorb the difference of RELAX and TREX. In case of TREX, name class will be determined when parsing ElementExp itself. Thus effectively it's immutable. In case of RELAX, name class will be determined when its corresponding Clause object is parsed.

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.