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

public Class OtherExp

extends Expression
Class Inheritance
Known Direct Subclasses
com.sun.msv.grammar.xmlschema.OccurrenceExp, com.sun.msv.relaxns.grammar.ExternalAttributeExp

Base class for application-specific AGM annotation.

This primitive has no meaning to MSV. For example, the following expression

Expression exp = new OtherExp( pool.createSequence(a,b) );
is treated as if MSV sees the following, OtherExp-less expression:
Expression exp = pool.createSequence(a,b);

By using this "transparency", application can implement derived classes of OtherExp and add application-specific information to AGM.

For example, you can implement AnnotationInfoExp class that derives OtherExp and introduces "documentation" field. Then you'll write a customized XMLSchemaReader that parses <annotation> tag and mix AnnotationInfoExp into an AGM. Your application can then examine it and do some useful things.

Those application-specific information added through OtherExp are completely ignored by MSV. So the annotated AGM can still be used just like anormal AGM.

Author
Kohsuke KAWAGUCHI

Field Summary

Modifier and TypeField and Description
public Expression
exp

child 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 String
printName()

returns the string which will be used by ExpressionPrinter to print this expression.

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.

serialVersionUIDback to summary
private static final long serialVersionUID

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

Constructor Detail

OtherExpback to summary
public OtherExp()
OtherExpback to summary
public OtherExp(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.

printNameback to summary
public String printName()

returns the string which will be used by ExpressionPrinter to print this expression.

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.