| Prev Class | Next Class | Frames | No Frames |
| Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Objectcom.sun.msv.grammar.Expressioncom.sun.msv.grammar.OtherExppublic class OtherExpextends ExpressionExpression 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.
Field Summary | |
Expression |
|
Fields inherited from class com.sun.msv.grammar.Expression | |
anyString, epsilon, nullSet, verifierTag | |
Constructor Summary | |
| |
| |
Method Summary | |
boolean |
|
String |
|
Object |
|
boolean |
|
Expression |
|
void |
|
Methods inherited from class com.sun.msv.grammar.Expression | |
equals, getExpandedExp, hashCode, isEpsilonReducible, peelOccurence, visit, visit, visit, visit, visit, visit, visit, visit | |
public OtherExp()
this constructor can be used for the ununified expressions. the only reason there are two parameters is to prevent unintentional use of the default constructor.
public String printName()
returns the string which will be used by ExpressionPrinter to print this expression.
public final boolean visit(ExpressionVisitorBoolean visitor)
- Overrides:
- visit in interface Expression
public final Expression visit(ExpressionVisitorExpression visitor)
- Overrides:
- visit in interface Expression