org.apache.xerces.impl.xs.models
Class XSAllCM

java.lang.Object
  extended by org.apache.xerces.impl.xs.models.XSAllCM
All Implemented Interfaces:
XSCMValidator

public class XSAllCM
extends java.lang.Object
implements XSCMValidator

XSAllCM implements XSCMValidator and handles <all>.

Version:
$Id: XSAllCM.java 573322 2007-09-06 16:48:47Z peterjm $
Author:
Pavani Mukthipudi, Sun Microsystems Inc.

Field Summary
 
Fields inherited from interface org.apache.xerces.impl.xs.models.XSCMValidator
FIRST_ERROR, SUBSEQUENT_ERROR
 
Constructor Summary
XSAllCM(boolean hasOptionalContent, int size)
           
 
Method Summary
 void addElement(XSElementDecl element, boolean isOptional)
           
 boolean checkUniqueParticleAttribution(SubstitutionGroupHandler subGroupHandler)
          check whether this content violates UPA constraint.
 boolean endContentModel(int[] currentState)
          The method indicates the end of list of children
 boolean isCompactedForUPA()
          Checks if this content model has had its min/maxOccurs values reduced for purposes of speeding up UPA.
 java.lang.Object oneTransition(QName elementName, int[] currentState, SubstitutionGroupHandler subGroupHandler)
          The method corresponds to one transition in the content model.
 int[] startContentModel()
          This methods to be called on entering a first element whose type has this content model.
 java.util.Vector whatCanGoHere(int[] state)
          Check which elements are valid to appear at this point.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XSAllCM

public XSAllCM(boolean hasOptionalContent,
               int size)
Method Detail

addElement

public void addElement(XSElementDecl element,
                       boolean isOptional)

startContentModel

public int[] startContentModel()
This methods to be called on entering a first element whose type has this content model. It will return the initial state of the content model

Specified by:
startContentModel in interface XSCMValidator
Returns:
Start state of the content model

oneTransition

public java.lang.Object oneTransition(QName elementName,
                                      int[] currentState,
                                      SubstitutionGroupHandler subGroupHandler)
The method corresponds to one transition in the content model.

Specified by:
oneTransition in interface XSCMValidator
Parameters:
elementName -
currentState - Current state
Returns:
an element decl object

endContentModel

public boolean endContentModel(int[] currentState)
The method indicates the end of list of children

Specified by:
endContentModel in interface XSCMValidator
Parameters:
currentState - Current state of the content model
Returns:
true if the last state was a valid final state

checkUniqueParticleAttribution

public boolean checkUniqueParticleAttribution(SubstitutionGroupHandler subGroupHandler)
                                       throws XMLSchemaException
check whether this content violates UPA constraint.

Specified by:
checkUniqueParticleAttribution in interface XSCMValidator
Parameters:
subGroupHandler - the substitution group handler
Returns:
true if this content model contains other or list wildcard
Throws:
XMLSchemaException

whatCanGoHere

public java.util.Vector whatCanGoHere(int[] state)
Check which elements are valid to appear at this point. This method also works if the state is in error, in which case it returns what should have been seen.

Specified by:
whatCanGoHere in interface XSCMValidator
Parameters:
state - the current state
Returns:
a Vector whose entries are instances of either XSWildcardDecl or XSElementDecl.

isCompactedForUPA

public boolean isCompactedForUPA()
Description copied from interface: XSCMValidator
Checks if this content model has had its min/maxOccurs values reduced for purposes of speeding up UPA. If so, this content model should not be used for any purpose other than checking unique particle attribution

Specified by:
isCompactedForUPA in interface XSCMValidator
Returns:
a boolean that says whether this content has been compacted for UPA