org.apache.synapse.commons.staxon.core.base

## Class AbstractXMLStreamReader<T>

- java.lang.Object
- - org.apache.synapse.commons.staxon.core.base.AbstractXMLStreamReader<T>

- All Implemented Interfaces:
    javax.xml.stream.XMLStreamConstants, javax.xml.stream.XMLStreamReader
  Direct Known Subclasses:
    JsonXMLStreamReader

      public abstract class AbstractXMLStreamReader<T>
      extends java.lang.Object
      implements javax.xml.stream.XMLStreamReader

  Abstract XML stream reader.

- - ### Field Summary

    - ### Fields inherited from interface javax.xml.stream.XMLStreamConstants

      `ATTRIBUTE, CDATA, CHARACTERS, COMMENT, DTD, END_DOCUMENT, END_ELEMENT, ENTITY_DECLARATION, ENTITY_REFERENCE, NAMESPACE, NOTATION_DECLARATION, PROCESSING_INSTRUCTION, SPACE, START_DOCUMENT, START_ELEMENT`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractXMLStreamReader(T rootInfo)` Create new reader instance.
    `AbstractXMLStreamReader(T rootInfo, javax.xml.stream.Location locationProvider)` Create new reader instance.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()`
    `protected abstract boolean` | `consume()` Main method to be implemented by subclasses.
    `int` | `getAttributeCount()`
    `java.lang.String` | `getAttributeLocalName(int index)`
    `javax.xml.namespace.QName` | `getAttributeName(int index)`
    `java.lang.String` | `getAttributeNamespace(int index)`
    `java.lang.String` | `getAttributePrefix(int index)`
    `java.lang.String` | `getAttributeType(int index)`
    `java.lang.String` | `getAttributeValue(int index)`
    `java.lang.String` | `getAttributeValue(java.lang.String namespaceURI, java.lang.String localName)`
    `java.lang.String` | `getCharacterEncodingScheme()`
    `java.lang.String` | `getElementText()`
    `java.lang.String` | `getEncoding()`
    `protected java.lang.Object` | `getEventData()`
    `protected java.lang.String` | `getEventName()`
    `int` | `getEventType()`
    `java.lang.String` | `getLocalName()`
    `javax.xml.stream.Location` | `getLocation()`
    `javax.xml.namespace.QName` | `getName()`
    `javax.xml.namespace.NamespaceContext` | `getNamespaceContext()`
    `int` | `getNamespaceCount()`
    `java.lang.String` | `getNamespacePrefix(int index)`
    `java.lang.String` | `getNamespaceURI()`
    `java.lang.String` | `getNamespaceURI(int index)`
    `java.lang.String` | `getNamespaceURI(java.lang.String prefix)`
    `java.lang.String` | `getPIData()`
    `java.lang.String` | `getPITarget()`
    `java.lang.String` | `getPrefix()`
    `java.lang.Object` | `getProperty(java.lang.String name)`
    `protected XMLStreamReaderScope<T>` | `getScope()`
    `java.lang.String` | `getText()`
    `char[]` | `getTextCharacters()`
    `int` | `getTextCharacters(int sourceStart, char[] target, int targetStart, int length)`
    `int` | `getTextLength()`
    `int` | `getTextStart()`
    `java.lang.String` | `getVersion()`
    `boolean` | `hasName()`
    `boolean` | `hasNext()`
    `boolean` | `hasText()`
    `protected void` | `initialize()` Consume initial event.
    `boolean` | `isAttributeSpecified(int index)`
    `boolean` | `isCharacters()`
    `boolean` | `isEndElement()`
    `boolean` | `isStandalone()`
    `protected boolean` | `isStartDocumentRead()`
    `boolean` | `isStartElement()`
    `boolean` | `isWhiteSpace()`
    `int` | `next()`
    `int` | `nextTag()`
    `protected void` | `readAttr(java.lang.String prefix, java.lang.String localName, java.lang.String namespaceURI, java.lang.String value)` Read attribute.
    `protected void` | `readData(java.lang.String text, java.lang.Object data, int type)` Read characters/comment/dtd/entity data.
    `protected void` | `readEndDocument()` Read end document.
    `protected void` | `readEndElementTag()` Read end element.
    `protected void` | `readNsDecl(java.lang.String prefix, java.lang.String namespaceURI)` Read namespace declaration.
    `protected void` | `readPI(java.lang.String target, java.lang.String data)` Read processing instruction.
    `protected void` | `readStartDocument(java.lang.String version, java.lang.String encodingScheme, java.lang.Boolean standalone)` Read start document
    `protected void` | `readStartElementTag(java.lang.String prefix, java.lang.String localName, java.lang.String namespaceURI, T scopeInfo)` Read start element.
    `void` | `require(int eventType, java.lang.String namespaceURI, java.lang.String localName)`
    `boolean` | `standaloneSet()`
    `java.lang.String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### AbstractXMLStreamReader

          public AbstractXMLStreamReader(T rootInfo)

      Create new reader instance.
      Parameters:
        `rootInfo` - root scope information

    - #### AbstractXMLStreamReader

          public AbstractXMLStreamReader(T rootInfo,
                                         javax.xml.stream.Location locationProvider)

      Create new reader instance.
      Parameters:
        `rootInfo` - root scope information

  - ### Method Detail

    - #### getScope

          protected XMLStreamReaderScope<T> getScope()

      Returns:
        current scope

    - #### isStartDocumentRead

          protected boolean isStartDocumentRead()

      Returns:
        `true` if `START_DOCUMENT` event has been read

    - #### initialize

          protected void initialize()
                             throws javax.xml.stream.XMLStreamException

      Consume initial event. This method must be called by subclasses prior to any use of an instance (typically in constructor).
      Throws:
        `javax.xml.stream.XMLStreamException`

    - #### consume

          protected abstract boolean consume()
                                      throws javax.xml.stream.XMLStreamException,
                                             java.io.IOException

      Main method to be implemented by subclasses. This method is called by the reader when the event queue runs dry. Consume some events and delegate to the various `readXXX()` methods. When encountering an element start event, all attributes and namespace delarations must be consumed too, otherwise these won't be available during start element.
      Returns:
        `true` if there's more to read
      Throws:
        `javax.xml.stream.XMLStreamException`
        `java.io.IOException`

    - #### readStartDocument

          protected void readStartDocument(java.lang.String version,
                                           java.lang.String encodingScheme,
                                           java.lang.Boolean standalone)
                                    throws javax.xml.stream.XMLStreamException

      Read start document
      Parameters:
        `version` - XML version
        `encodingScheme` - encoding scheme (may be `null`)
        `standalone` - standalone flag (may be `null`)
      Throws:
        `javax.xml.stream.XMLStreamException`

    - #### readStartElementTag

          protected void readStartElementTag(java.lang.String prefix,
                                             java.lang.String localName,
                                             java.lang.String namespaceURI,
                                             T scopeInfo)
                                      throws javax.xml.stream.XMLStreamException

      Read start element. A new scope is created and made the current scope. The provided `scopeInfo` is stored in the new scope and will be available via `getScope().getInfo()`.
      Parameters:
        `prefix` - element prefix (use `null` if unknown)
        `localName` - local name
        `namespaceURI` - (use `null` if unknown)
        `scopeInfo` - new scope info
      Throws:
        `javax.xml.stream.XMLStreamException`

    - #### readAttr

          protected void readAttr(java.lang.String prefix,
                                  java.lang.String localName,
                                  java.lang.String namespaceURI,
                                  java.lang.String value)
                           throws javax.xml.stream.XMLStreamException

      Read attribute.
      Parameters:
        `prefix` - attribute prefix (use `null` if unknown)
        `localName` - local name
        `namespaceURI` - (use `null` if unknown)
        `value` - attribute value
      Throws:
        `javax.xml.stream.XMLStreamException`

    - #### readNsDecl

          protected void readNsDecl(java.lang.String prefix,
                                    java.lang.String namespaceURI)
                             throws javax.xml.stream.XMLStreamException

      Read namespace declaration.
      Parameters:
        `prefix` - namespace prefix (must not be `null`)
        `namespaceURI` - namespace URI (must not be `null`)
      Throws:
        `javax.xml.stream.XMLStreamException`

    - #### readData

          protected void readData(java.lang.String text,
                                  java.lang.Object data,
                                  int type)
                           throws javax.xml.stream.XMLStreamException

      Read characters/comment/dtd/entity data.
      Parameters:
        `text` - text
        `data` - additional data exposed by `getEventData()` (e.g. type conversion)
        `type` - one of `CHARACTERS, COMMENT, CDATA, DTD, ENTITY_REFERENCE, SPACE`
      Throws:
        `javax.xml.stream.XMLStreamException`

    - #### readPI

          protected void readPI(java.lang.String target,
                                java.lang.String data)
                         throws javax.xml.stream.XMLStreamException

      Read processing instruction.
      Parameters:
        `target` - PI target
        `data` - PI data (may be `null`)
      Throws:
        `javax.xml.stream.XMLStreamException`

    - #### readEndElementTag

          protected void readEndElementTag()
                                    throws javax.xml.stream.XMLStreamException

      Read end element. This will pop the current scope and make its parent the new current scope.
      Throws:
        `javax.xml.stream.XMLStreamException`

    - #### readEndDocument

          protected void readEndDocument()
                                  throws javax.xml.stream.XMLStreamException

      Read end document.
      Throws:
        `javax.xml.stream.XMLStreamException`

    - #### require

          public void require(int eventType,
                              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`

    - #### hasNext

          public boolean hasNext()
                          throws javax.xml.stream.XMLStreamException

      Specified by:
        `hasNext` in interface `javax.xml.stream.XMLStreamReader`
      Throws:
        `javax.xml.stream.XMLStreamException`

    - #### next

          public int next()
                   throws javax.xml.stream.XMLStreamException

      Specified by:
        `next` 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`

    - #### close

          public void close()
                     throws javax.xml.stream.XMLStreamException

      Specified by:
        `close` in interface `javax.xml.stream.XMLStreamReader`
      Throws:
        `javax.xml.stream.XMLStreamException`

    - #### 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`

    - #### 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`

    - #### getAttributeLocalName

          public java.lang.String getAttributeLocalName(int index)

      Specified by:
        `getAttributeLocalName` in interface `javax.xml.stream.XMLStreamReader`

    - #### getAttributeValue

          public java.lang.String getAttributeValue(int index)

      Specified by:
        `getAttributeValue` in interface `javax.xml.stream.XMLStreamReader`

    - #### getAttributePrefix

          public java.lang.String getAttributePrefix(int index)

      Specified by:
        `getAttributePrefix` in interface `javax.xml.stream.XMLStreamReader`

    - #### getAttributeNamespace

          public java.lang.String getAttributeNamespace(int index)

      Specified by:
        `getAttributeNamespace` in interface `javax.xml.stream.XMLStreamReader`

    - #### getAttributeType

          public java.lang.String getAttributeType(int index)

      Specified by:
        `getAttributeType` in interface `javax.xml.stream.XMLStreamReader`

    - #### isAttributeSpecified

          public boolean isAttributeSpecified(int index)

      Specified by:
        `isAttributeSpecified` 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`

    - #### getNamespaceURI

          public java.lang.String getNamespaceURI(java.lang.String prefix)

      Specified by:
        `getNamespaceURI` 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`

    - #### getEventName

          protected java.lang.String getEventName()

    - #### getEventData

          protected final java.lang.Object getEventData()

      Returns:
        raw event data

    - #### getLocation

          public javax.xml.stream.Location getLocation()

      Specified by:
        `getLocation` in interface `javax.xml.stream.XMLStreamReader`

    - #### hasText

          public boolean hasText()

      Specified by:
        `hasText` 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`

    - #### hasName

          public boolean hasName()

      Specified by:
        `hasName` 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`

    - #### 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`

    - #### getEncoding

          public java.lang.String getEncoding()

      Specified by:
        `getEncoding` 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`

    - #### 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`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

Copyright © 2005-2022 Apache Software Foundation. All Rights Reserved.