Class XMLExtendedStreamReaderImpl

    • Field Detail

      • streamReader

        private final javax.xml.stream.XMLStreamReader streamReader
      • fixedStreamReader

        private final javax.xml.stream.XMLStreamReader fixedStreamReader
      • trimElementText

        private boolean trimElementText
      • NO_INTS

        private static final int[] NO_INTS
      • NO_LONGS

        private static final long[] NO_LONGS
      • NO_STRINGS

        private static final java.lang.String[] NO_STRINGS
    • Constructor Detail

      • XMLExtendedStreamReaderImpl

        XMLExtendedStreamReaderImpl​(XMLMapperImpl xmlMapper,
                                    javax.xml.stream.XMLStreamReader streamReader)
    • Method Detail

      • setTrimElementText

        public void setTrimElementText​(boolean trim)
        Description copied from interface: XMLExtendedStreamReader
        Whether or not XMLStreamReader.getElementText() should trim content. The default is true.
        Specified by:
        setTrimElementText in interface XMLExtendedStreamReader
        Parameters:
        trim - trim if true, don't if false
      • handleAny

        public void handleAny​(java.lang.Object value)
                       throws javax.xml.stream.XMLStreamException
        Description copied from interface: XMLExtendedStreamReader
        Handle an <xs:any>-type nested element, passing in the given value, returning after the end of the element. Must be positioned on a START_ELEMENT or an exception will occur. On return the cursor will be positioned on the corresponding END_ELEMENT.
        Specified by:
        handleAny in interface XMLExtendedStreamReader
        Parameters:
        value - the value to pass in
        Throws:
        javax.xml.stream.XMLStreamException - if an error occurs (e.g. the given value does not match the type of the handler for the element, or the element is unknown)
      • handleAttribute

        public void handleAttribute​(java.lang.Object value,
                                    int index)
                             throws javax.xml.stream.XMLStreamException
        Description copied from interface: XMLExtendedStreamReader
        Handle an extended attribute, passing in the given value. Must be positioned on a START_ELEMENT or an exception will occur. On return the cursor will be pointing at the same START_ELEMENT.
        Specified by:
        handleAttribute in interface XMLExtendedStreamReader
        Parameters:
        value - the value to pass in
        index - the index of the attribute to process
        Throws:
        javax.xml.stream.XMLStreamException - if an error occurs
      • discardRemainder

        public void discardRemainder()
                              throws javax.xml.stream.XMLStreamException
        Description copied from interface: XMLExtendedStreamReader
        Discard the remaining content of an element. Runs until a END_ELEMENT is encountered. If a START_ELEMENT is encountered, then recursively consume and ignore its content as well.
        Specified by:
        discardRemainder in interface XMLExtendedStreamReader
        Throws:
        javax.xml.stream.XMLStreamException - if an error occurs.
      • getProperty

        public java.lang.Object getProperty​(java.lang.String name)
                                     throws java.lang.IllegalArgumentException
        Specified by:
        getProperty in interface javax.xml.stream.XMLStreamReader
        Throws:
        java.lang.IllegalArgumentException
      • next

        public int next()
                 throws javax.xml.stream.XMLStreamException
        Specified by:
        next in interface javax.xml.stream.XMLStreamReader
        Throws:
        javax.xml.stream.XMLStreamException
      • require

        public void require​(int type,
                            java.lang.String namespaceURI,
                            java.lang.String localName)
                     throws javax.xml.stream.XMLStreamException
        Specified by:
        require in interface javax.xml.stream.XMLStreamReader
        Throws:
        javax.xml.stream.XMLStreamException
      • getElementText

        public java.lang.String getElementText()
                                        throws javax.xml.stream.XMLStreamException
        Specified by:
        getElementText in interface javax.xml.stream.XMLStreamReader
        Throws:
        javax.xml.stream.XMLStreamException
      • nextTag

        public int nextTag()
                    throws javax.xml.stream.XMLStreamException
        Specified by:
        nextTag in interface javax.xml.stream.XMLStreamReader
        Throws:
        javax.xml.stream.XMLStreamException
      • hasNext

        public boolean hasNext()
                        throws javax.xml.stream.XMLStreamException
        Specified by:
        hasNext in interface javax.xml.stream.XMLStreamReader
        Throws:
        javax.xml.stream.XMLStreamException
      • close

        public void close()
                   throws javax.xml.stream.XMLStreamException
        Specified by:
        close in interface javax.xml.stream.XMLStreamReader
        Throws:
        javax.xml.stream.XMLStreamException
      • getNamespaceURI

        public java.lang.String getNamespaceURI​(java.lang.String prefix)
        Specified by:
        getNamespaceURI in interface javax.xml.stream.XMLStreamReader
      • isStartElement

        public boolean isStartElement()
        Specified by:
        isStartElement in interface javax.xml.stream.XMLStreamReader
      • isEndElement

        public boolean isEndElement()
        Specified by:
        isEndElement in interface javax.xml.stream.XMLStreamReader
      • isCharacters

        public boolean isCharacters()
        Specified by:
        isCharacters in interface javax.xml.stream.XMLStreamReader
      • isWhiteSpace

        public boolean isWhiteSpace()
        Specified by:
        isWhiteSpace in interface javax.xml.stream.XMLStreamReader
      • getAttributeValue

        public java.lang.String getAttributeValue​(java.lang.String namespaceURI,
                                                  java.lang.String localName)
        Specified by:
        getAttributeValue in interface javax.xml.stream.XMLStreamReader
      • getAttributeCount

        public int getAttributeCount()
        Specified by:
        getAttributeCount in interface javax.xml.stream.XMLStreamReader
      • getAttributeName

        public javax.xml.namespace.QName getAttributeName​(int index)
        Specified by:
        getAttributeName in interface javax.xml.stream.XMLStreamReader
      • getAttributeNamespace

        public java.lang.String getAttributeNamespace​(int index)
        Specified by:
        getAttributeNamespace in interface javax.xml.stream.XMLStreamReader
      • getAttributeLocalName

        public java.lang.String getAttributeLocalName​(int index)
        Specified by:
        getAttributeLocalName in interface javax.xml.stream.XMLStreamReader
      • getAttributePrefix

        public java.lang.String getAttributePrefix​(int index)
        Specified by:
        getAttributePrefix in interface javax.xml.stream.XMLStreamReader
      • getAttributeType

        public java.lang.String getAttributeType​(int index)
        Specified by:
        getAttributeType in interface javax.xml.stream.XMLStreamReader
      • getAttributeValue

        public java.lang.String getAttributeValue​(int index)
        Specified by:
        getAttributeValue in interface javax.xml.stream.XMLStreamReader
      • isAttributeSpecified

        public boolean isAttributeSpecified​(int index)
        Specified by:
        isAttributeSpecified in interface javax.xml.stream.XMLStreamReader
      • getNamespaceCount

        public int getNamespaceCount()
        Specified by:
        getNamespaceCount in interface javax.xml.stream.XMLStreamReader
      • getNamespacePrefix

        public java.lang.String getNamespacePrefix​(int index)
        Specified by:
        getNamespacePrefix in interface javax.xml.stream.XMLStreamReader
      • getNamespaceURI

        public java.lang.String getNamespaceURI​(int index)
        Specified by:
        getNamespaceURI in interface javax.xml.stream.XMLStreamReader
      • getNamespaceContext

        public javax.xml.namespace.NamespaceContext getNamespaceContext()
        Specified by:
        getNamespaceContext in interface javax.xml.stream.XMLStreamReader
      • getEventType

        public int getEventType()
        Specified by:
        getEventType in interface javax.xml.stream.XMLStreamReader
      • getText

        public java.lang.String getText()
        Specified by:
        getText in interface javax.xml.stream.XMLStreamReader
      • getTextCharacters

        public char[] getTextCharacters()
        Specified by:
        getTextCharacters in interface javax.xml.stream.XMLStreamReader
      • getTextCharacters

        public int getTextCharacters​(int sourceStart,
                                     char[] target,
                                     int targetStart,
                                     int length)
                              throws javax.xml.stream.XMLStreamException
        Specified by:
        getTextCharacters in interface javax.xml.stream.XMLStreamReader
        Throws:
        javax.xml.stream.XMLStreamException
      • getTextStart

        public int getTextStart()
        Specified by:
        getTextStart in interface javax.xml.stream.XMLStreamReader
      • getTextLength

        public int getTextLength()
        Specified by:
        getTextLength in interface javax.xml.stream.XMLStreamReader
      • getEncoding

        public java.lang.String getEncoding()
        Specified by:
        getEncoding in interface javax.xml.stream.XMLStreamReader
      • hasText

        public boolean hasText()
        Specified by:
        hasText in interface javax.xml.stream.XMLStreamReader
      • getLocation

        public javax.xml.stream.Location getLocation()
        Specified by:
        getLocation in interface javax.xml.stream.XMLStreamReader
      • getName

        public javax.xml.namespace.QName getName()
        Specified by:
        getName in interface javax.xml.stream.XMLStreamReader
      • getLocalName

        public java.lang.String getLocalName()
        Specified by:
        getLocalName in interface javax.xml.stream.XMLStreamReader
      • hasName

        public boolean hasName()
        Specified by:
        hasName in interface javax.xml.stream.XMLStreamReader
      • getNamespaceURI

        public java.lang.String getNamespaceURI()
        Specified by:
        getNamespaceURI in interface javax.xml.stream.XMLStreamReader
      • getPrefix

        public java.lang.String getPrefix()
        Specified by:
        getPrefix in interface javax.xml.stream.XMLStreamReader
      • getVersion

        public java.lang.String getVersion()
        Specified by:
        getVersion in interface javax.xml.stream.XMLStreamReader
      • isStandalone

        public boolean isStandalone()
        Specified by:
        isStandalone in interface javax.xml.stream.XMLStreamReader
      • standaloneSet

        public boolean standaloneSet()
        Specified by:
        standaloneSet in interface javax.xml.stream.XMLStreamReader
      • getCharacterEncodingScheme

        public java.lang.String getCharacterEncodingScheme()
        Specified by:
        getCharacterEncodingScheme in interface javax.xml.stream.XMLStreamReader
      • getPITarget

        public java.lang.String getPITarget()
        Specified by:
        getPITarget in interface javax.xml.stream.XMLStreamReader
      • getPIData

        public java.lang.String getPIData()
        Specified by:
        getPIData in interface javax.xml.stream.XMLStreamReader
      • getIntAttributeValue

        public int getIntAttributeValue​(int index)
                                 throws javax.xml.stream.XMLStreamException
        Description copied from interface: XMLExtendedStreamReader
        Get the value of an attribute as an integer.
        Specified by:
        getIntAttributeValue in interface XMLExtendedStreamReader
        Parameters:
        index - the index of the attribute
        Returns:
        the integer value
        Throws:
        javax.xml.stream.XMLStreamException - if an error occurs
      • getIntListAttributeValue

        public int[] getIntListAttributeValue​(int index)
                                       throws javax.xml.stream.XMLStreamException
        Description copied from interface: XMLExtendedStreamReader
        Get the value of an attribute as an integer list.
        Specified by:
        getIntListAttributeValue in interface XMLExtendedStreamReader
        Parameters:
        index - the index of the attribute
        Returns:
        the integer values
        Throws:
        javax.xml.stream.XMLStreamException - if an error occurs
      • getListAttributeValue

        public java.util.List<java.lang.String> getListAttributeValue​(int index)
                                                               throws javax.xml.stream.XMLStreamException
        Description copied from interface: XMLExtendedStreamReader
        Get the value of an attribute as a space-delimited string list.
        Specified by:
        getListAttributeValue in interface XMLExtendedStreamReader
        Parameters:
        index - the index of the attribute
        Returns:
        the values
        Throws:
        javax.xml.stream.XMLStreamException - if an error occurs
      • getLongAttributeValue

        public long getLongAttributeValue​(int index)
                                   throws javax.xml.stream.XMLStreamException
        Description copied from interface: XMLExtendedStreamReader
        Get the value of an attribute as a long.
        Specified by:
        getLongAttributeValue in interface XMLExtendedStreamReader
        Parameters:
        index - the index of the attribute
        Returns:
        the long value
        Throws:
        javax.xml.stream.XMLStreamException - if an error occurs
      • getLongListAttributeValue

        public long[] getLongListAttributeValue​(int index)
                                         throws javax.xml.stream.XMLStreamException
        Description copied from interface: XMLExtendedStreamReader
        Get the value of an attribute as a long integer list.
        Specified by:
        getLongListAttributeValue in interface XMLExtendedStreamReader
        Parameters:
        index - the index of the attribute
        Returns:
        the long values
        Throws:
        javax.xml.stream.XMLStreamException - if an error occurs
      • getAttributeValue

        public <T> T getAttributeValue​(int index,
                                       java.lang.Class<T> kind)
                                throws javax.xml.stream.XMLStreamException
        Description copied from interface: XMLExtendedStreamReader
        Get the attribute value using intelligent type conversion. Numeric types will be parsed; enum types will be mapped.
        Specified by:
        getAttributeValue in interface XMLExtendedStreamReader
        Type Parameters:
        T - the type of the expected object
        Parameters:
        index - the index of the attribute
        kind - the class of the expected object
        Returns:
        the object equivalent
        Throws:
        javax.xml.stream.XMLStreamException - if an error occurs
      • getListAttributeValue

        public <T> java.util.List<? extends T> getListAttributeValue​(int index,
                                                                     java.lang.Class<T> kind)
                                                              throws javax.xml.stream.XMLStreamException
        Description copied from interface: XMLExtendedStreamReader
        Get the attribute value as a list using intelligent type conversion. Numeric types will be parsed; enum types will be mapped.
        Specified by:
        getListAttributeValue in interface XMLExtendedStreamReader
        Parameters:
        index - the index of the attribute
        kind - the class of the expected object
        Returns:
        the list of object equivalents
        Throws:
        javax.xml.stream.XMLStreamException - if an error occurs
      • getId

        public java.lang.String getId()
                               throws javax.xml.stream.XMLStreamException
        Description copied from interface: XMLExtendedStreamReader
        Get the XML ID attribute, if any.
        Specified by:
        getId in interface XMLExtendedStreamReader
        Returns:
        the attribute value
        Throws:
        javax.xml.stream.XMLStreamException - if an error occurs
      • doDiscard

        private void doDiscard()
                        throws javax.xml.stream.XMLStreamException
        Throws:
        javax.xml.stream.XMLStreamException
      • safeClose

        private void safeClose()
      • toInts

        private static int[] toInts​(java.util.Iterator<java.lang.String> i,
                                    int count)
      • toLongs

        private static long[] toLongs​(java.util.Iterator<java.lang.String> i,
                                      int count)
      • toStrings

        private static java.lang.String[] toStrings​(java.util.Iterator<java.lang.String> i,
                                                    int count)
      • readPastEnd

        private static javax.xml.stream.XMLStreamException readPastEnd​(javax.xml.stream.Location location)
      • intParseException

        private static javax.xml.stream.XMLStreamException intParseException​(java.lang.NumberFormatException e,
                                                                             javax.xml.stream.Location location)