Class OccurrenceExp
- All Implemented Interfaces:
Serializable
This expression is just a marker, and the exp field of this instance still contains the precise expression of the occurrence constraint.
For example, if A is maxOccurs=5 and minOccurs=3,
then the exp field of this instance will be:
A,A,A,(A,A?)?
, the maxOccurs field
will be 5, the minOccurs field will be 3, and
the itemExp field will hold a reference to A
.
Note that MSV doesn't using this marker by itself. It is intended to help other applications that use the AGM of MSV.
Also note that this expression will not be used in the following cases to avoid excessive allocation of this expression:
- when maxOccurs=unbounded and minOccurs is 1 or 0
- when maxOccurs=1
Those cases can be expressed quite nicely with existing primitives So the client shouldn't find it difficuult to process them. I appreciate any feedback on this issue.
- Author:
- Kohsuke Kawaguchi ([email protected])
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionfinal Expression
The unit of repetition.final int
Maximum occurence.final int
Minimum occurence.Fields inherited from class com.sun.msv.grammar.Expression
anyString, epsilon, nullSet, verifierTag
-
Constructor Summary
ConstructorsConstructorDescriptionOccurrenceExp
(Expression preciseExp, int maxOccurs, int minOccurs, Expression itemExp) -
Method Summary
Methods inherited from class com.sun.msv.grammar.OtherExp
calcEpsilonReducibility, calcHashCode, equals, printName, visit, visit, visit, visit
Methods inherited from class com.sun.msv.grammar.Expression
getExpandedExp, hashCode, hashCode, hashCode, isEpsilonReducible, peelOccurence, readResolve, visit, visit, visit, visit
-
Field Details
-
maxOccurs
public final int maxOccursMaximum occurence. -1 to indicate "unbounded" -
minOccurs
public final int minOccursMinimum occurence. -
itemExp
The unit of repetition.
-
-
Constructor Details
-
OccurrenceExp
-
-
Method Details