|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.fasterxml.aalto.in.XmlScanner
com.fasterxml.aalto.in.ReaderScanner
public final class ReaderScanner
This is the concrete scanner implementation used when input comes
as a Reader
. In general using this scanner is quite
a bit less optimal than that of InputStream
based
scanner. Nonetheless, it is included for completeness, since Stax
interface allows passing Readers as input sources.
Field Summary | |
---|---|
protected Reader |
_in
Underlying InputStream to use for reading content. |
protected char[] |
_inputBuffer
|
protected int |
_inputEnd
|
protected int |
_inputPtr
|
protected CharBasedPNameTable |
_symbols
For now, symbol table contains prefixed names. |
protected int |
mPastChars
Number of bytes that were read and processed before the contents of the current buffer; used for calculating absolute offsets. |
protected int |
mRowStartOffset
Offset used to calculate the column value given current input buffer pointer. |
protected int |
mTmpChar
Storage location for a single character that can not be pushed back (for example, multi-byte char) |
Fields inherited from class com.fasterxml.aalto.in.XmlScanner |
---|
_attrCollector, _attrCount, _cfgCoalescing, _cfgLazyParsing, _config, _currElem, _currNsCount, _currRow, _currToken, _defaultNs, _depth, _entityPending, _isEmptyTag, _lastNsContext, _lastNsDecl, _nameBuffer, _nsBindingCache, _nsBindingCount, _nsBindings, _nsBindMisses, _publicId, _systemId, _textBuilder, _tokenIncomplete, _tokenName, _xml11, CDATA_STR, INT_0, INT_9, INT_a, INT_A, INT_AMP, INT_APOS, INT_COLON, INT_CR, INT_EQ, INT_EXCL, INT_f, INT_F, INT_GT, INT_HYPHEN, INT_LBRACKET, INT_LF, INT_LT, INT_NULL, INT_QMARK, INT_QUOTE, INT_RBRACKET, INT_SLASH, INT_SPACE, INT_TAB, INT_z, MAX_UNICODE_CHAR, TOKEN_EOI |
Fields inherited from interface com.fasterxml.aalto.util.XmlConsts |
---|
CHAR_CR, CHAR_LF, CHAR_NULL, CHAR_SPACE, STAX_DEFAULT_OUTPUT_ENCODING, STAX_DEFAULT_OUTPUT_VERSION, XML_DECL_KW_ENCODING, XML_DECL_KW_STANDALONE, XML_DECL_KW_VERSION, XML_SA_NO, XML_SA_YES, XML_V_10, XML_V_10_STR, XML_V_11, XML_V_11_STR, XML_V_UNKNOWN |
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 | |
---|---|
ReaderScanner(ReaderConfig cfg,
Reader r)
|
|
ReaderScanner(ReaderConfig cfg,
Reader r,
char[] buffer,
int ptr,
int last)
|
Method Summary | |
---|---|
protected void |
_closeSource()
|
protected void |
_releaseBuffers()
|
protected PName |
addPName(char[] nameBuffer,
int nameLen,
int hash)
|
protected int |
checkInTreeIndentation(char c)
Note: consequtive white space is only considered indentation, if the following token seems like a tag (start/end). |
protected int |
checkPrologIndentation(char c)
|
protected void |
finishCData()
|
protected void |
finishCharacters()
|
protected void |
finishCoalescedCData()
|
protected void |
finishCoalescedCharacters()
|
protected void |
finishCoalescedText()
Method that gets called after a primary text segment (of type CHARACTERS or CDATA, not applicable to SPACE) has been read in text buffer. |
protected void |
finishComment()
|
protected void |
finishDTD(boolean copyContents)
|
protected void |
finishPI()
|
protected void |
finishSpace()
|
int |
getCurrentColumnNr()
|
int |
getCurrentLineNr()
|
org.codehaus.stax2.XMLStreamLocation2 |
getCurrentLocation()
|
protected int |
handleCharEntity()
|
protected int |
handleCommentOrCdataStart()
|
protected int |
handleEndElement()
|
protected int |
handleEntityInText(boolean inAttr)
|
protected int |
handlePIStart()
|
protected int |
handlePrologDeclStart(boolean isProlog)
|
protected int |
handleStartElement(char c)
|
protected boolean |
loadAndRetain(int nrOfChars)
|
protected boolean |
loadMore()
|
protected char |
loadOne()
|
protected char |
loadOne(int type)
|
protected void |
markLF()
|
protected void |
markLF(int offset)
|
int |
nextFromProlog(boolean isProlog)
|
int |
nextFromTree()
|
protected PName |
parsePName(char c)
|
protected String |
parsePublicId(char quoteChar)
|
protected String |
parseSystemId(char quoteChar)
|
protected void |
skipCData()
|
protected boolean |
skipCharacters()
|
protected boolean |
skipCoalescedText()
Method that gets called after a primary text segment (of type CHARACTERS or CDATA, not applicable to SPACE) has been skipped. |
protected void |
skipComment()
|
protected char |
skipInternalWs(boolean reqd,
String msg)
|
protected void |
skipPI()
|
protected void |
skipSpace()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected Reader _in
protected char[] _inputBuffer
protected int _inputPtr
protected int _inputEnd
protected int mTmpChar
protected final CharBasedPNameTable _symbols
protected int mPastChars
protected int mRowStartOffset
Constructor Detail |
---|
public ReaderScanner(ReaderConfig cfg, Reader r, char[] buffer, int ptr, int last)
public ReaderScanner(ReaderConfig cfg, Reader r)
Method Detail |
---|
protected void _releaseBuffers()
_releaseBuffers
in class XmlScanner
protected void _closeSource() throws IOException
_closeSource
in class XmlScanner
IOException
public final int nextFromProlog(boolean isProlog) throws XMLStreamException
nextFromProlog
in class XmlScanner
XMLStreamException
public final int nextFromTree() throws XMLStreamException
nextFromTree
in class XmlScanner
XMLStreamException
protected final int handlePrologDeclStart(boolean isProlog) throws XMLStreamException
XMLStreamException
protected final int handleCommentOrCdataStart() throws XMLStreamException
XMLStreamException
protected final int handlePIStart() throws XMLStreamException
XMLStreamException
protected final int handleCharEntity() throws XMLStreamException
XMLStreamException
protected final int handleStartElement(char c) throws XMLStreamException
XMLStreamException
protected final int handleEndElement() throws XMLStreamException
XMLStreamException
protected final int handleEntityInText(boolean inAttr) throws XMLStreamException
XMLStreamException
protected final void finishComment() throws XMLStreamException
finishComment
in class XmlScanner
XMLStreamException
protected final void finishPI() throws XMLStreamException
finishPI
in class XmlScanner
XMLStreamException
protected final void finishDTD(boolean copyContents) throws XMLStreamException
finishDTD
in class XmlScanner
XMLStreamException
protected final void finishCData() throws XMLStreamException
finishCData
in class XmlScanner
XMLStreamException
protected final void finishCharacters() throws XMLStreamException
finishCharacters
in class XmlScanner
XMLStreamException
protected final void finishSpace() throws XMLStreamException
finishSpace
in class XmlScanner
XMLStreamException
protected final void finishCoalescedText() throws XMLStreamException
XMLStreamException
protected final void finishCoalescedCData() throws XMLStreamException
XMLStreamException
protected final void finishCoalescedCharacters() throws XMLStreamException
XMLStreamException
protected final boolean skipCoalescedText() throws XMLStreamException
skipCoalescedText
in class XmlScanner
XMLStreamException
protected final void skipComment() throws XMLStreamException
skipComment
in class XmlScanner
XMLStreamException
protected final void skipPI() throws XMLStreamException
skipPI
in class XmlScanner
XMLStreamException
protected final boolean skipCharacters() throws XMLStreamException
skipCharacters
in class XmlScanner
XMLStreamException
protected final void skipCData() throws XMLStreamException
skipCData
in class XmlScanner
XMLStreamException
protected final void skipSpace() throws XMLStreamException
skipSpace
in class XmlScanner
XMLStreamException
protected char skipInternalWs(boolean reqd, String msg) throws XMLStreamException
XMLStreamException
protected final int checkInTreeIndentation(char c) throws XMLStreamException
Note: consequtive white space is only considered indentation, if the following token seems like a tag (start/end). This so that if a CDATA section follows, it can be coalesced in coalescing mode. Although we could check if coalescing mode is enabled, this should seldom have significant effect either way, so it removes one possible source of problems in coalescing mode.
XMLStreamException
protected final int checkPrologIndentation(char c) throws XMLStreamException
XMLStreamException
protected PName parsePName(char c) throws XMLStreamException
XMLStreamException
protected final PName addPName(char[] nameBuffer, int nameLen, int hash) throws XMLStreamException
XMLStreamException
protected String parsePublicId(char quoteChar) throws XMLStreamException
XMLStreamException
protected String parseSystemId(char quoteChar) throws XMLStreamException
XMLStreamException
public org.codehaus.stax2.XMLStreamLocation2 getCurrentLocation()
getCurrentLocation
in class XmlScanner
public int getCurrentLineNr()
getCurrentLineNr
in class XmlScanner
public int getCurrentColumnNr()
getCurrentColumnNr
in class XmlScanner
protected final void markLF(int offset)
protected final void markLF()
protected final boolean loadMore() throws XMLStreamException
loadMore
in class XmlScanner
XMLStreamException
protected final char loadOne() throws XMLStreamException
XMLStreamException
protected final char loadOne(int type) throws XMLStreamException
XMLStreamException
protected final boolean loadAndRetain(int nrOfChars) throws XMLStreamException
XMLStreamException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |