Class XSAllCM

  • All Implemented Interfaces:
    XSCMValidator

    public class XSAllCM
    extends Object
    implements XSCMValidator
    XSAllCM implements XSCMValidator and handles <all>.
    Version:
    $Id$
    Author:
    Pavani Mukthipudi, Sun Microsystems Inc.
    • 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 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
      • whatCanGoHere

        public 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.
      • occurenceInfo

        public int[] occurenceInfo​(int[] state)
        Description copied from interface: XSCMValidator

        Returns an array containing information about the current repeating term or null if no occurrence counting was being performed at the current state.

        If an array is returned it will have a length == 4 and will contain:

        • a[0] :: min occurs
        • a[1] :: max occurs
        • a[2] :: current value of the counter
        • a[3] :: identifier for the repeating term

        Specified by:
        occurenceInfo in interface XSCMValidator
        Parameters:
        state - the current state
        Returns:
        an array containing information about the current repeating term
      • getTermName

        public String getTermName​(int termId)
        Description copied from interface: XSCMValidator
        Returns the name of the term (element or wildcard) for the given identifier.
        Specified by:
        getTermName in interface XSCMValidator
        Parameters:
        termId - identifier for the element declaration or wildcard
        Returns:
        the name of the element declaration or wildcard
      • 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