Package com.ctc.wstx.evt
Class WstxEventReader
java.lang.Object
com.ctc.wstx.evt.WstxEventReader
- All Implemented Interfaces:
Iterator
,XMLEventReader
,XMLStreamConstants
,org.codehaus.stax2.XMLEventReader2
public class WstxEventReader
extends Object
implements org.codehaus.stax2.XMLEventReader2, XMLStreamConstants
Woodstox version of
XMLEventReader2
(and XMLEventReader
).
NOTE: up to Woodstox 5.1, this was based on Stax2 Reference Implementation
(Stax2EventReaderImpl
), but due to various issues
has temporarily (?) been cut-paste-modified here. Ideally it would be reconciled
once Stax2-api version 4.2 can be relied as baseline, but that may take time.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final int
Encountered non-textual event (other than closing END_ELEMENT) when collecting text for getElementText()protected static final int
Current state when getElementText() called not START_ELEMENTprotected static final int
Encountered CHARACTERS or CDATA that contains non-white space char(s), when trying to locate tag with nextTag()protected static final int
Encountered non-skippable non-text/element event with nextTag()protected final XMLEventAllocator
protected final boolean
Marker flag to allow specialized handling in "multi-document" reading mode.protected XMLEvent
Event that has been peeked, ie.protected int
This variable keeps track of the type of the 'previous' event when peeking for the next Event.protected final org.codehaus.stax2.XMLStreamReader2
protected int
High-level state indicator, with currently three values: whether we are initializing (need to synthetize START_DOCUMENT), at END_OF_INPUT (end-of-doc), or otherwise, normal operation.protected static final int
protected static final int
protected static final int
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 -
Method Summary
Modifier and TypeMethodDescriptionprotected XMLStreamException
void
close()
protected XMLEvent
createNextEvent
(boolean checkEOD, int type) protected XMLEvent
Method called to create the very first event (START_DOCUMENT).protected final String
findErrorDesc
(int errorType, int currEvent) Method used to locate error message description to use.protected String
getErrorDesc
(int errorType, int currEvent) Method called upon encountering a problem that should result in an exception being thrown.getProperty
(String name) protected XMLStreamReader
boolean
hasNext()
boolean
Note: although the interface allows implementations to throw anXMLStreamException
, the reference implementation doesn't currently need to.boolean
isPropertySupported
(String name) next()
nextTag()
peek()
void
remove()
Note: only here because we implement Iterator interface.protected void
reportProblem
(String msg) protected void
reportProblem
(String msg, Location loc) boolean
setProperty
(String name, Object value) protected void
protected void
protected void
Method called when we are about to returnEND_DOCUMENT
event.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.Iterator
forEachRemaining
-
Field Details
-
STATE_INITIAL
protected static final int STATE_INITIAL- See Also:
-
STATE_END_OF_INPUT
protected static final int STATE_END_OF_INPUT- See Also:
-
STATE_CONTENT
protected static final int STATE_CONTENT- See Also:
-
ERR_GETELEMTEXT_NOT_START_ELEM
protected static final int ERR_GETELEMTEXT_NOT_START_ELEMCurrent state when getElementText() called not START_ELEMENT- See Also:
-
ERR_GETELEMTEXT_NON_TEXT_EVENT
protected static final int ERR_GETELEMTEXT_NON_TEXT_EVENTEncountered non-textual event (other than closing END_ELEMENT) when collecting text for getElementText()- See Also:
-
ERR_NEXTTAG_NON_WS_TEXT
protected static final int ERR_NEXTTAG_NON_WS_TEXTEncountered CHARACTERS or CDATA that contains non-white space char(s), when trying to locate tag with nextTag()- See Also:
-
ERR_NEXTTAG_WRONG_TYPE
protected static final int ERR_NEXTTAG_WRONG_TYPEEncountered non-skippable non-text/element event with nextTag()- See Also:
-
mAllocator
-
mReader
protected final org.codehaus.stax2.XMLStreamReader2 mReader -
mPeekedEvent
Event that has been peeked, ie. loaded without call tonextEvent()
; will be returned and cleared by call tonextEvent()
(or, returned again if peeked again) -
mState
protected int mStateHigh-level state indicator, with currently three values: whether we are initializing (need to synthetize START_DOCUMENT), at END_OF_INPUT (end-of-doc), or otherwise, normal operation. Useful in simplifying some methods, as well as to make sure that independent of how stream reader handles things, event reader can reliably detect End-Of-Document. -
mPrePeekEvent
protected int mPrePeekEventThis variable keeps track of the type of the 'previous' event when peeking for the next Event. It is needed for some functionality, to remember state even when underlying parser has to move to peek the next event. -
mCfgMultiDocMode
protected final boolean mCfgMultiDocModeMarker flag to allow specialized handling in "multi-document" reading mode.
-
-
Constructor Details
-
WstxEventReader
-
-
Method Details
-
isPropertySupported
- Specified by:
isPropertySupported
in interfaceorg.codehaus.stax2.XMLEventReader2
-
setProperty
- Specified by:
setProperty
in interfaceorg.codehaus.stax2.XMLEventReader2
-
getErrorDesc
Method called upon encountering a problem that should result in an exception being thrown. If non-null String is returned. that will be used as the message of exception thrown; if null, a standard message will be used instead.- Parameters:
errorType
- Type of the problem, one ofERR_
constantscurrEvent
- Type of the event that triggered the problem, if any; -1 if not available.
-
close
- Specified by:
close
in interfaceXMLEventReader
- Throws:
XMLStreamException
-
getElementText
- Specified by:
getElementText
in interfaceXMLEventReader
- Throws:
XMLStreamException
-
getProperty
- Specified by:
getProperty
in interfaceXMLEventReader
-
hasNext
public boolean hasNext()- Specified by:
hasNext
in interfaceIterator
- Specified by:
hasNext
in interfaceXMLEventReader
-
nextEvent
- Specified by:
nextEvent
in interfaceXMLEventReader
- Throws:
XMLStreamException
-
next
-
nextTag
- Specified by:
nextTag
in interfaceXMLEventReader
- Throws:
XMLStreamException
-
peek
- Specified by:
peek
in interfaceXMLEventReader
- Throws:
XMLStreamException
-
remove
public void remove()Note: only here because we implement Iterator interface. Will not work, don't bother calling it. -
updateStateEndDocument
Method called when we are about to returnEND_DOCUMENT
event. Usually this should change state toSTATE_END_OF_INPUT
, but may vary for some alternative read modes (like multi-document)- Throws:
XMLStreamException
- Since:
- 4.2
-
hasNextEvent
Note: although the interface allows implementations to throw an
XMLStreamException
, the reference implementation doesn't currently need to. It's still declared, in case in future there is need to throw such an exception.- Specified by:
hasNextEvent
in interfaceorg.codehaus.stax2.XMLEventReader2
- Throws:
XMLStreamException
-
createNextEvent
- Throws:
XMLStreamException
-
_checkUnwrap
-
createStartDocumentEvent
Method called to create the very first event (START_DOCUMENT).- Throws:
XMLStreamException
-
throwEndOfInput
protected void throwEndOfInput() -
throwUnchecked
-
reportProblem
- Throws:
XMLStreamException
-
reportProblem
- Throws:
XMLStreamException
-
getStreamReader
-
findErrorDesc
Method used to locate error message description to use. Calls sub-classesgetErrorDesc()
first, and only if no message found, uses default messages defined here.
-