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:
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.
| Modifier and Type | Field and Description |
|---|---|
| public final Expression | itemExp
The unit of repetition. |
| public final int | maxOccurs
Maximum occurence. |
| public final int | minOccurs
Minimum occurence. |
| private static final long |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public String | toString()
Overrides java. |
| itemExp | back to summary |
|---|---|
| public final Expression itemExp The unit of repetition. | |
| maxOccurs | back to summary |
|---|---|
| public final int maxOccurs Maximum occurence. -1 to indicate "unbounded" | |
| minOccurs | back to summary |
|---|---|
| public final int minOccurs Minimum occurence. | |
| serialVersionUID | back to summary |
|---|---|
| private static final long serialVersionUID | |
| OccurrenceExp | back to summary |
|---|---|
| public OccurrenceExp(Expression preciseExp, int maxOccurs, int minOccurs, Expression itemExp) | |
| toString | back to summary |
|---|---|
| public String toString() Overrides java. Obtains a string representation suitable for quick debugging.
| |