Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.sun.msv.grammar.xmlschema
Class OccurrenceExp

    java.lang.Object
      com.sun.msv.grammar.Expression
          com.sun.msv.grammar.OtherExp
              com.sun.msv.grammar.xmlschema.OccurrenceExp

All Implemented Interfaces:
  java.io.Serializable

public class OccurrenceExp
extends OtherExp

Used to mark a occurrence constraint which cannot be easily represented by primitive expressions.

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 (kohsuke.kawaguchi@sun.com)
See Also:
  Serialized Form

Field Summary
`Expression` | `itemExp` The unit of repetition.
`int` | `maxOccurs` Maximum occurence.
`int` | `minOccurs` Minimum occurence.

Fields inherited from class com.sun.msv.grammar.OtherExp
`exp`

Fields inherited from class com.sun.msv.grammar.Expression
`anyString, epsilon, nullSet, verifierTag`

Constructor Summary
`OccurrenceExp(Expression preciseExp, int maxOccurs, int minOccurs, Expression itemExp)`

Method Summary
`java.lang.String` | `toString()` Obtains a string representation suitable for quick debugging.

Methods inherited from class com.sun.msv.grammar.OtherExp
`equals, printName, visit, visit, visit, visit`

Methods inherited from class com.sun.msv.grammar.Expression
`getExpandedExp, hashCode, isEpsilonReducible, peelOccurence, visit, visit, visit, visit`

Methods inherited from class java.lang.Object
`getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### maxOccurs

    public final int maxOccurs

  Maximum occurence. -1 to indicate "unbounded"

### minOccurs

    public final int minOccurs

  Minimum occurence.

### itemExp

    public final Expression itemExp

  The unit of repetition.

Constructor Detail

### OccurrenceExp

    public OccurrenceExp(Expression preciseExp,
                         int maxOccurs,
                         int minOccurs,
                         Expression itemExp)

Method Detail

### toString

    public java.lang.String toString()

  Obtains a string representation suitable for quick debugging.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD