com.sun.msv.grammar.xmlschema
Class OccurrenceExp

java.lang.Object
  extended by com.sun.msv.grammar.Expression
      extended by com.sun.msv.grammar.OtherExp
          extended by com.sun.msv.grammar.xmlschema.OccurrenceExp
All Implemented Interfaces:
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:

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
 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 String toString()
Obtains a string representation suitable for quick debugging.

Overrides:
toString in class Object