com.sun.msv.grammar

Class OtherExp

public class OtherExp extends Expression

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
Expressionexp
child expression.
Constructor Summary
OtherExp()
OtherExp(Expression exp)
Method Summary
booleanequals(Object o)
StringprintName()
returns the string which will be used by ExpressionPrinter to print this expression.
Objectvisit(ExpressionVisitor visitor)
Expressionvisit(ExpressionVisitorExpression visitor)
booleanvisit(ExpressionVisitorBoolean visitor)
voidvisit(ExpressionVisitorVoid visitor)

Field Detail

exp

public Expression exp
child expression.

Constructor Detail

OtherExp

public OtherExp()

OtherExp

public OtherExp(Expression exp)

Method Detail

equals

public boolean equals(Object o)

printName

public String printName()
returns the string which will be used by ExpressionPrinter to print this expression.

visit

public final Object visit(ExpressionVisitor visitor)

visit

public final Expression visit(ExpressionVisitorExpression visitor)

visit

public final boolean visit(ExpressionVisitorBoolean visitor)

visit

public final void visit(ExpressionVisitorVoid visitor)