Class StAXReaderWrapper

  • All Implemented Interfaces:
    IXMLReader

    public class StAXReaderWrapper
    extends Object
    implements IXMLReader
    Wrapper for a StAX parser implementation. This delegates most calls more or less directly, only adding the required namespace functionality on top of the StAX API.
    • Constructor Detail

      • StAXReaderWrapper

        public StAXReaderWrapper​(XMLStreamReader rdr,
                                 String name,
                                 boolean nsa)
        Constructor used by factory. This checks the parser state, and if positioned at a start tag it initializes the namespace information for that start tag.
        Parameters:
        rdr - event reader
        name - document name
        nsa - namespace aware flag
    • Method Detail

      • init

        public void init()
        Initialize reader.
        Specified by:
        init in interface IXMLReader
      • buildPositionString

        public String buildPositionString()
        Build current parse input position description.
        Specified by:
        buildPositionString in interface IXMLReader
        Returns:
        text description of current parse position
      • nextToken

        public int nextToken()
                      throws JiBXException
        Description copied from interface: IXMLReader
        Advance to next parse event of input document.
        Specified by:
        nextToken in interface IXMLReader
        Returns:
        parse event type code
        Throws:
        JiBXException - if error reading or parsing document
      • next

        public int next()
                 throws JiBXException
        Description copied from interface: IXMLReader
        Advance to next binding component of input document. This is a higher-level operation than IXMLReader.nextToken(), which consolidates text content and ignores parse events for components such as comments and PIs.
        Specified by:
        next in interface IXMLReader
        Returns:
        parse event type code
        Throws:
        JiBXException - if error reading or parsing document
      • getEventType

        public int getEventType()
                         throws JiBXException
        Description copied from interface: IXMLReader
        Gets the current parse event type, without changing the current parse state.
        Specified by:
        getEventType in interface IXMLReader
        Returns:
        parse event type code
        Throws:
        JiBXException - if error parsing document
      • getName

        public String getName()
        Description copied from interface: IXMLReader
        Get element name from the current start or end tag.
        Specified by:
        getName in interface IXMLReader
        Returns:
        local name if namespace handling enabled, full name if namespace handling disabled
      • getNamespace

        public String getNamespace()
        Description copied from interface: IXMLReader
        Get element namespace from the current start or end tag.
        Specified by:
        getNamespace in interface IXMLReader
        Returns:
        namespace URI if namespace handling enabled and element is in a namespace, empty string otherwise
      • getPrefix

        public String getPrefix()
        Description copied from interface: IXMLReader
        Get element prefix from the current start or end tag.
        Specified by:
        getPrefix in interface IXMLReader
        Returns:
        prefix text (null if no prefix)
      • getAttributeCount

        public int getAttributeCount()
        Description copied from interface: IXMLReader
        Get the number of attributes of the current start tag.
        Specified by:
        getAttributeCount in interface IXMLReader
        Returns:
        number of attributes
      • getAttributeName

        public String getAttributeName​(int index)
        Description copied from interface: IXMLReader
        Get an attribute name from the current start tag.
        Specified by:
        getAttributeName in interface IXMLReader
        Parameters:
        index - attribute index
        Returns:
        local name if namespace handling enabled, full name if namespace handling disabled
      • getAttributeNamespace

        public String getAttributeNamespace​(int index)
        Description copied from interface: IXMLReader
        Get an attribute namespace from the current start tag.
        Specified by:
        getAttributeNamespace in interface IXMLReader
        Parameters:
        index - attribute index
        Returns:
        namespace URI if namespace handling enabled and attribute is in a namespace, empty string otherwise
      • getAttributePrefix

        public String getAttributePrefix​(int index)
        Description copied from interface: IXMLReader
        Get an attribute prefix from the current start tag.
        Specified by:
        getAttributePrefix in interface IXMLReader
        Parameters:
        index - attribute index
        Returns:
        prefix for attribute (null if no prefix present)
      • getAttributeValue

        public String getAttributeValue​(int index)
        Description copied from interface: IXMLReader
        Get an attribute value from the current start tag.
        Specified by:
        getAttributeValue in interface IXMLReader
        Parameters:
        index - attribute index
        Returns:
        value text
      • getAttributeValue

        public String getAttributeValue​(String ns,
                                        String name)
        Description copied from interface: IXMLReader
        Get an attribute value from the current start tag.
        Specified by:
        getAttributeValue in interface IXMLReader
        Parameters:
        ns - namespace URI for expected attribute (may be null or the empty string for the empty namespace)
        name - attribute name expected
        Returns:
        attribute value text, or null if missing
      • getText

        public String getText()
        Description copied from interface: IXMLReader
        Get current text. When positioned on a TEXT event this returns the actual text; for CDSECT it returns the text inside the CDATA section; for COMMENT, DOCDECL, or PROCESSING_INSTRUCTION it returns the text inside the structure.
        Specified by:
        getText in interface IXMLReader
        Returns:
        text for current event
      • getNestingDepth

        public int getNestingDepth()
        Description copied from interface: IXMLReader
        Get current element nesting depth. The returned depth always includes the current start or end tag (if positioned on a start or end tag).
        Specified by:
        getNestingDepth in interface IXMLReader
        Returns:
        element nesting depth
      • getNamespaceCount

        public int getNamespaceCount​(int depth)
        Description copied from interface: IXMLReader
        Get number of namespace declarations active at depth.
        Specified by:
        getNamespaceCount in interface IXMLReader
        Parameters:
        depth - element nesting depth
        Returns:
        number of namespaces active at depth
      • getNamespaceUri

        public String getNamespaceUri​(int index)
        Description copied from interface: IXMLReader
        Get namespace URI.
        Specified by:
        getNamespaceUri in interface IXMLReader
        Parameters:
        index - declaration index
        Returns:
        namespace URI
      • getNamespacePrefix

        public String getNamespacePrefix​(int index)
        Description copied from interface: IXMLReader
        Get namespace prefix.
        Specified by:
        getNamespacePrefix in interface IXMLReader
        Parameters:
        index - declaration index
        Returns:
        namespace prefix, null if a default namespace
      • getDocumentName

        public String getDocumentName()
        Description copied from interface: IXMLReader
        Get document name.
        Specified by:
        getDocumentName in interface IXMLReader
        Returns:
        document name, null if not known
      • getLineNumber

        public int getLineNumber()
        Description copied from interface: IXMLReader
        Get current source line number.
        Specified by:
        getLineNumber in interface IXMLReader
        Returns:
        line number from source document, -1 if line number information not available
      • getColumnNumber

        public int getColumnNumber()
        Description copied from interface: IXMLReader
        Get current source column number.
        Specified by:
        getColumnNumber in interface IXMLReader
        Returns:
        column number from source document, -1 if column number information not available
      • getNamespace

        public String getNamespace​(String prefix)
        Description copied from interface: IXMLReader
        Get namespace URI associated with prefix.
        Specified by:
        getNamespace in interface IXMLReader
        Parameters:
        prefix - namespace prefix to be matched (null for default namespace)
        Returns:
        associated URI (null if prefix not defined)
      • getInputEncoding

        public String getInputEncoding()
        Description copied from interface: IXMLReader
        Return the input encoding, if known. This is only valid after parsing of a document has been started.
        Specified by:
        getInputEncoding in interface IXMLReader
        Returns:
        input encoding (null if unknown)
      • isNamespaceAware

        public boolean isNamespaceAware()
        Description copied from interface: IXMLReader
        Return namespace processing flag.
        Specified by:
        isNamespaceAware in interface IXMLReader
        Returns:
        namespace processing flag (true if namespaces are processed by reader, false if not)