Package 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:
  `XMLStreamConstants`, `XMLStreamReader`

Direct Known Subclasses:
  `JsonXMLStreamReader`

public abstract class AbstractXMLStreamReader<T> extends Object implements 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
  Description
  `AbstractXMLStreamReader(T rootInfo)`
  Create new reader instance.
  `AbstractXMLStreamReader(T rootInfo, Location locationProvider)`
  Create new reader instance.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  `protected abstract boolean`
  `consume()`
  Main method to be implemented by subclasses.
  `int`
  `getAttributeCount()`
  `String`
  `getAttributeLocalName(int index)`
  `QName`
  `getAttributeName(int index)`
  `String`
  `getAttributeNamespace(int index)`
  `String`
  `getAttributePrefix(int index)`
  `String`
  `getAttributeType(int index)`
  `String`
  `getAttributeValue(int index)`
  `String`
  `getAttributeValue(String namespaceURI, String localName)`
  `String`
  `getCharacterEncodingScheme()`
  `String`
  `getElementText()`
  `String`
  `getEncoding()`
  `protected final Object`
  `getEventData()`
  `protected String`
  `getEventName()`
  `int`
  `getEventType()`
  `String`
  `getLocalName()`
  `Location`
  `getLocation()`
  `QName`
  `getName()`
  `NamespaceContext`
  `getNamespaceContext()`
  `int`
  `getNamespaceCount()`
  `String`
  `getNamespacePrefix(int index)`
  `String`
  `getNamespaceURI()`
  `String`
  `getNamespaceURI(int index)`
  `String`
  `getNamespaceURI(String prefix)`
  `String`
  `getPIData()`
  `String`
  `getPITarget()`
  `String`
  `getPrefix()`
  `Object`
  `getProperty(String name)`
  `protected XMLStreamReaderScope<T>`
  `getScope()`
  `String`
  `getText()`
  `char[]`
  `getTextCharacters()`
  `int`
  `getTextCharacters(int sourceStart, char[] target, int targetStart, int length)`
  `int`
  `getTextLength()`
  `int`
  `getTextStart()`
  `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(String prefix, String localName, String namespaceURI, String value)`
  Read attribute.
  `protected void`
  `readData(String text, 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(String prefix, String namespaceURI)`
  Read namespace declaration.
  `protected void`
  `readPI(String target, String data)`
  Read processing instruction.
  `protected void`
  `readStartDocument(String version, String encodingScheme, Boolean standalone)`
  Read start document
  `protected void`
  `readStartElementTag(String prefix, String localName, String namespaceURI, T scopeInfo)`
  Read start element.
  `void`
  `require(int eventType, String namespaceURI, String localName)`
  `boolean`
  `standaloneSet()`
  `String`
  `toString()`

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

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

- ## Constructor Details

  - ### AbstractXMLStreamReader

    public AbstractXMLStreamReader(T rootInfo)
    Create new reader instance.
    Parameters:
      `rootInfo` - root scope information

  - ### AbstractXMLStreamReader

    public AbstractXMLStreamReader(T rootInfo, Location locationProvider)
    Create new reader instance.
    Parameters:
      `rootInfo` - root scope information

- ## Method Details

  - ### 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 XMLStreamException
    Consume initial event. This method must be called by subclasses prior to any use of an instance (typically in constructor).
    Throws:
      `XMLStreamException`

  - ### consume

    protected abstract boolean consume() throws XMLStreamException, 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:
      `XMLStreamException`
      `IOException`

  - ### readStartDocument

    protected void readStartDocument(String version, String encodingScheme, Boolean standalone) throws XMLStreamException
    Read start document
    Parameters:
      `version` - XML version
      `encodingScheme` - encoding scheme (may be `null`)
      `standalone` - standalone flag (may be `null`)
    Throws:
      `XMLStreamException`

  - ### readStartElementTag

    protected void readStartElementTag(String prefix, String localName, String namespaceURI, T scopeInfo) throws 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:
      `XMLStreamException`

  - ### readAttr

    protected void readAttr(String prefix, String localName, String namespaceURI, String value) throws XMLStreamException
    Read attribute.
    Parameters:
      `prefix` - attribute prefix (use `null` if unknown)
      `localName` - local name
      `namespaceURI` - (use `null` if unknown)
      `value` - attribute value
    Throws:
      `XMLStreamException`

  - ### readNsDecl

    protected void readNsDecl(String prefix, String namespaceURI) throws XMLStreamException
    Read namespace declaration.
    Parameters:
      `prefix` - namespace prefix (must not be `null`)
      `namespaceURI` - namespace URI (must not be `null`)
    Throws:
      `XMLStreamException`

  - ### readData

    protected void readData(String text, Object data, int type) throws 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:
      `XMLStreamException`

  - ### readPI

    protected void readPI(String target, String data) throws XMLStreamException
    Read processing instruction.
    Parameters:
      `target` - PI target
      `data` - PI data (may be `null`)
    Throws:
      `XMLStreamException`

  - ### readEndElementTag

    protected void readEndElementTag() throws XMLStreamException
    Read end element. This will pop the current scope and make its parent the new current scope.
    Throws:
      `XMLStreamException`

  - ### readEndDocument

    protected void readEndDocument() throws XMLStreamException
    Read end document.
    Throws:
      `XMLStreamException`

  - ### require

    public void require(int eventType, String namespaceURI, String localName) throws XMLStreamException
    Specified by:
      `require` in interface `XMLStreamReader`
    Throws:
      `XMLStreamException`

  - ### getElementText

    public String getElementText() throws XMLStreamException
    Specified by:
      `getElementText` in interface `XMLStreamReader`
    Throws:
      `XMLStreamException`

  - ### hasNext

    public boolean hasNext() throws XMLStreamException
    Specified by:
      `hasNext` in interface `XMLStreamReader`
    Throws:
      `XMLStreamException`

  - ### next

    public int next() throws XMLStreamException
    Specified by:
      `next` in interface `XMLStreamReader`
    Throws:
      `XMLStreamException`

  - ### nextTag

    public int nextTag() throws XMLStreamException
    Specified by:
      `nextTag` in interface `XMLStreamReader`
    Throws:
      `XMLStreamException`

  - ### close

    public void close() throws XMLStreamException
    Specified by:
      `close` in interface `XMLStreamReader`
    Throws:
      `XMLStreamException`

  - ### isStartElement

    public boolean isStartElement()
    Specified by:
      `isStartElement` in interface `XMLStreamReader`

  - ### isEndElement

    public boolean isEndElement()
    Specified by:
      `isEndElement` in interface `XMLStreamReader`

  - ### isCharacters

    public boolean isCharacters()
    Specified by:
      `isCharacters` in interface `XMLStreamReader`

  - ### isWhiteSpace

    public boolean isWhiteSpace()
    Specified by:
      `isWhiteSpace` in interface `XMLStreamReader`

  - ### getAttributeCount

    public int getAttributeCount()
    Specified by:
      `getAttributeCount` in interface `XMLStreamReader`

  - ### getAttributeName

    public QName getAttributeName(int index)
    Specified by:
      `getAttributeName` in interface `XMLStreamReader`

  - ### getAttributeLocalName

    public String getAttributeLocalName(int index)
    Specified by:
      `getAttributeLocalName` in interface `XMLStreamReader`

  - ### getAttributeValue

    public String getAttributeValue(int index)
    Specified by:
      `getAttributeValue` in interface `XMLStreamReader`

  - ### getAttributePrefix

    public String getAttributePrefix(int index)
    Specified by:
      `getAttributePrefix` in interface `XMLStreamReader`

  - ### getAttributeNamespace

    public String getAttributeNamespace(int index)
    Specified by:
      `getAttributeNamespace` in interface `XMLStreamReader`

  - ### getAttributeType

    public String getAttributeType(int index)
    Specified by:
      `getAttributeType` in interface `XMLStreamReader`

  - ### isAttributeSpecified

    public boolean isAttributeSpecified(int index)
    Specified by:
      `isAttributeSpecified` in interface `XMLStreamReader`

  - ### getAttributeValue

    public String getAttributeValue(String namespaceURI, String localName)
    Specified by:
      `getAttributeValue` in interface `XMLStreamReader`

  - ### getNamespaceURI

    public String getNamespaceURI(String prefix)
    Specified by:
      `getNamespaceURI` in interface `XMLStreamReader`

  - ### getNamespaceCount

    public int getNamespaceCount()
    Specified by:
      `getNamespaceCount` in interface `XMLStreamReader`

  - ### getNamespacePrefix

    public String getNamespacePrefix(int index)
    Specified by:
      `getNamespacePrefix` in interface `XMLStreamReader`

  - ### getNamespaceURI

    public String getNamespaceURI(int index)
    Specified by:
      `getNamespaceURI` in interface `XMLStreamReader`

  - ### getNamespaceContext

    public NamespaceContext getNamespaceContext()
    Specified by:
      `getNamespaceContext` in interface `XMLStreamReader`

  - ### getEventType

    public int getEventType()
    Specified by:
      `getEventType` in interface `XMLStreamReader`

  - ### getEventName

    protected String getEventName()

  - ### getEventData

    protected final Object getEventData()
    Returns:
      raw event data

  - ### getLocation

    public Location getLocation()
    Specified by:
      `getLocation` in interface `XMLStreamReader`

  - ### hasText

    public boolean hasText()
    Specified by:
      `hasText` in interface `XMLStreamReader`

  - ### getText

    public String getText()
    Specified by:
      `getText` in interface `XMLStreamReader`

  - ### getTextCharacters

    public char[] getTextCharacters()
    Specified by:
      `getTextCharacters` in interface `XMLStreamReader`

  - ### getTextCharacters

    public int getTextCharacters(int sourceStart, char[] target, int targetStart, int length) throws XMLStreamException
    Specified by:
      `getTextCharacters` in interface `XMLStreamReader`
    Throws:
      `XMLStreamException`

  - ### getTextStart

    public int getTextStart()
    Specified by:
      `getTextStart` in interface `XMLStreamReader`

  - ### getTextLength

    public int getTextLength()
    Specified by:
      `getTextLength` in interface `XMLStreamReader`

  - ### hasName

    public boolean hasName()
    Specified by:
      `hasName` in interface `XMLStreamReader`

  - ### getName

    public QName getName()
    Specified by:
      `getName` in interface `XMLStreamReader`

  - ### getLocalName

    public String getLocalName()
    Specified by:
      `getLocalName` in interface `XMLStreamReader`

  - ### getNamespaceURI

    public String getNamespaceURI()
    Specified by:
      `getNamespaceURI` in interface `XMLStreamReader`

  - ### getPrefix

    public String getPrefix()
    Specified by:
      `getPrefix` in interface `XMLStreamReader`

  - ### getVersion

    public String getVersion()
    Specified by:
      `getVersion` in interface `XMLStreamReader`

  - ### getEncoding

    public String getEncoding()
    Specified by:
      `getEncoding` in interface `XMLStreamReader`

  - ### isStandalone

    public boolean isStandalone()
    Specified by:
      `isStandalone` in interface `XMLStreamReader`

  - ### standaloneSet

    public boolean standaloneSet()
    Specified by:
      `standaloneSet` in interface `XMLStreamReader`

  - ### getCharacterEncodingScheme

    public String getCharacterEncodingScheme()
    Specified by:
      `getCharacterEncodingScheme` in interface `XMLStreamReader`

  - ### getPITarget

    public String getPITarget()
    Specified by:
      `getPITarget` in interface `XMLStreamReader`

  - ### getPIData

    public String getPIData()
    Specified by:
      `getPIData` in interface `XMLStreamReader`

  - ### getProperty

    public Object getProperty(String name) throws IllegalArgumentException
    Specified by:
      `getProperty` in interface `XMLStreamReader`
    Throws:
      `IllegalArgumentException`

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`