Package org.jibx.runtime.impl
Class StAXReaderWrapper
- java.lang.Object
-
- org.jibx.runtime.impl.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.
-
-
Field Summary
-
Fields inherited from interface org.jibx.runtime.IXMLReader
CDSECT, COMMENT, DOCDECL, END_DOCUMENT, END_TAG, ENTITY_REF, IGNORABLE_WHITESPACE, PROCESSING_INSTRUCTION, START_DOCUMENT, START_TAG, TEXT
-
-
Constructor Summary
Constructors Constructor Description StAXReaderWrapper(XMLStreamReader rdr, String name, boolean nsa)Constructor used by factory.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringbuildPositionString()Build current parse input position description.intgetAttributeCount()Get the number of attributes of the current start tag.StringgetAttributeName(int index)Get an attribute name from the current start tag.StringgetAttributeNamespace(int index)Get an attribute namespace from the current start tag.StringgetAttributePrefix(int index)Get an attribute prefix from the current start tag.StringgetAttributeValue(int index)Get an attribute value from the current start tag.StringgetAttributeValue(String ns, String name)Get an attribute value from the current start tag.intgetColumnNumber()Get current source column number.StringgetDocumentName()Get document name.intgetEventType()Gets the current parse event type, without changing the current parse state.StringgetInputEncoding()Return the input encoding, if known.intgetLineNumber()Get current source line number.StringgetName()Get element name from the current start or end tag.StringgetNamespace()Get element namespace from the current start or end tag.StringgetNamespace(String prefix)Get namespace URI associated with prefix.intgetNamespaceCount(int depth)Get number of namespace declarations active at depth.StringgetNamespacePrefix(int index)Get namespace prefix.StringgetNamespaceUri(int index)Get namespace URI.intgetNestingDepth()Get current element nesting depth.StringgetPrefix()Get element prefix from the current start or end tag.StringgetText()Get current text.voidinit()Initialize reader.booleanisNamespaceAware()Return namespace processing flag.intnext()Advance to next binding component of input document.intnextToken()Advance to next parse event of input document.
-
-
-
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 readername- document namensa- namespace aware flag
-
-
Method Detail
-
init
public void init()
Initialize reader.- Specified by:
initin interfaceIXMLReader
-
buildPositionString
public String buildPositionString()
Build current parse input position description.- Specified by:
buildPositionStringin interfaceIXMLReader- Returns:
- text description of current parse position
-
nextToken
public int nextToken() throws JiBXExceptionDescription copied from interface:IXMLReaderAdvance to next parse event of input document.- Specified by:
nextTokenin interfaceIXMLReader- Returns:
- parse event type code
- Throws:
JiBXException- if error reading or parsing document
-
next
public int next() throws JiBXExceptionDescription copied from interface:IXMLReaderAdvance to next binding component of input document. This is a higher-level operation thanIXMLReader.nextToken(), which consolidates text content and ignores parse events for components such as comments and PIs.- Specified by:
nextin interfaceIXMLReader- Returns:
- parse event type code
- Throws:
JiBXException- if error reading or parsing document
-
getEventType
public int getEventType() throws JiBXExceptionDescription copied from interface:IXMLReaderGets the current parse event type, without changing the current parse state.- Specified by:
getEventTypein interfaceIXMLReader- Returns:
- parse event type code
- Throws:
JiBXException- if error parsing document
-
getName
public String getName()
Description copied from interface:IXMLReaderGet element name from the current start or end tag.- Specified by:
getNamein interfaceIXMLReader- Returns:
- local name if namespace handling enabled, full name if namespace handling disabled
-
getNamespace
public String getNamespace()
Description copied from interface:IXMLReaderGet element namespace from the current start or end tag.- Specified by:
getNamespacein interfaceIXMLReader- Returns:
- namespace URI if namespace handling enabled and element is in a namespace, empty string otherwise
-
getPrefix
public String getPrefix()
Description copied from interface:IXMLReaderGet element prefix from the current start or end tag.- Specified by:
getPrefixin interfaceIXMLReader- Returns:
- prefix text (
nullif no prefix)
-
getAttributeCount
public int getAttributeCount()
Description copied from interface:IXMLReaderGet the number of attributes of the current start tag.- Specified by:
getAttributeCountin interfaceIXMLReader- Returns:
- number of attributes
-
getAttributeName
public String getAttributeName(int index)
Description copied from interface:IXMLReaderGet an attribute name from the current start tag.- Specified by:
getAttributeNamein interfaceIXMLReader- 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:IXMLReaderGet an attribute namespace from the current start tag.- Specified by:
getAttributeNamespacein interfaceIXMLReader- 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:IXMLReaderGet an attribute prefix from the current start tag.- Specified by:
getAttributePrefixin interfaceIXMLReader- Parameters:
index- attribute index- Returns:
- prefix for attribute (
nullif no prefix present)
-
getAttributeValue
public String getAttributeValue(int index)
Description copied from interface:IXMLReaderGet an attribute value from the current start tag.- Specified by:
getAttributeValuein interfaceIXMLReader- Parameters:
index- attribute index- Returns:
- value text
-
getAttributeValue
public String getAttributeValue(String ns, String name)
Description copied from interface:IXMLReaderGet an attribute value from the current start tag.- Specified by:
getAttributeValuein interfaceIXMLReader- Parameters:
ns- namespace URI for expected attribute (may benullor the empty string for the empty namespace)name- attribute name expected- Returns:
- attribute value text, or
nullif missing
-
getText
public String getText()
Description copied from interface:IXMLReaderGet 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:
getTextin interfaceIXMLReader- Returns:
- text for current event
-
getNestingDepth
public int getNestingDepth()
Description copied from interface:IXMLReaderGet 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:
getNestingDepthin interfaceIXMLReader- Returns:
- element nesting depth
-
getNamespaceCount
public int getNamespaceCount(int depth)
Description copied from interface:IXMLReaderGet number of namespace declarations active at depth.- Specified by:
getNamespaceCountin interfaceIXMLReader- Parameters:
depth- element nesting depth- Returns:
- number of namespaces active at depth
-
getNamespaceUri
public String getNamespaceUri(int index)
Description copied from interface:IXMLReaderGet namespace URI.- Specified by:
getNamespaceUriin interfaceIXMLReader- Parameters:
index- declaration index- Returns:
- namespace URI
-
getNamespacePrefix
public String getNamespacePrefix(int index)
Description copied from interface:IXMLReaderGet namespace prefix.- Specified by:
getNamespacePrefixin interfaceIXMLReader- Parameters:
index- declaration index- Returns:
- namespace prefix,
nullif a default namespace
-
getDocumentName
public String getDocumentName()
Description copied from interface:IXMLReaderGet document name.- Specified by:
getDocumentNamein interfaceIXMLReader- Returns:
- document name,
nullif not known
-
getLineNumber
public int getLineNumber()
Description copied from interface:IXMLReaderGet current source line number.- Specified by:
getLineNumberin interfaceIXMLReader- Returns:
- line number from source document,
-1if line number information not available
-
getColumnNumber
public int getColumnNumber()
Description copied from interface:IXMLReaderGet current source column number.- Specified by:
getColumnNumberin interfaceIXMLReader- Returns:
- column number from source document,
-1if column number information not available
-
getNamespace
public String getNamespace(String prefix)
Description copied from interface:IXMLReaderGet namespace URI associated with prefix.- Specified by:
getNamespacein interfaceIXMLReader- Parameters:
prefix- namespace prefix to be matched (nullfor default namespace)- Returns:
- associated URI (
nullif prefix not defined)
-
getInputEncoding
public String getInputEncoding()
Description copied from interface:IXMLReaderReturn the input encoding, if known. This is only valid after parsing of a document has been started.- Specified by:
getInputEncodingin interfaceIXMLReader- Returns:
- input encoding (
nullif unknown)
-
isNamespaceAware
public boolean isNamespaceAware()
Description copied from interface:IXMLReaderReturn namespace processing flag.- Specified by:
isNamespaceAwarein interfaceIXMLReader- Returns:
- namespace processing flag (
trueif namespaces are processed by reader,falseif not)
-
-