Package com.fasterxml.aalto.in
Class CharSourceBootstrapper
- java.lang.Object
-
- com.fasterxml.aalto.in.InputBootstrapper
-
- com.fasterxml.aalto.in.CharSourceBootstrapper
-
- All Implemented Interfaces:
XmlConsts
public final class CharSourceBootstrapper extends InputBootstrapper
Class that takes care of bootstrapping main document input from a Stream input source.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) java.io.Reader
_in
Underlying Reader to use for reading content.(package private) char[]
_inputBuffer
private int
_inputLast
Offset of the first character after the end of valid buffer contents.private int
_inputPtr
(package private) static char
CHAR_BOM_MARKER
(package private) static int
DEFAULT_BUFFER_SIZE
Whether to use a bigger (4000, ie.-
Fields inherited from class com.fasterxml.aalto.in.InputBootstrapper
_config, _inputProcessed, _inputRow, _inputRowStart, ERR_XMLDECL_END_MARKER, ERR_XMLDECL_EXP_ATTRVAL, ERR_XMLDECL_EXP_EQ, ERR_XMLDECL_EXP_SPACE, ERR_XMLDECL_KW_ENCODING, ERR_XMLDECL_KW_STANDALONE, ERR_XMLDECL_KW_VERSION, mDeclaredXmlVersion, mFoundEncoding, mKeyword, mStandalone
-
Fields inherited from interface com.fasterxml.aalto.util.XmlConsts
CHAR_CR, CHAR_LF, CHAR_NULL, CHAR_SPACE, MAX_UNICODE_CHAR, 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
-
-
Constructor Summary
Constructors Modifier Constructor Description private
CharSourceBootstrapper(ReaderConfig cfg, char[] buffer, int start, int len)
private
CharSourceBootstrapper(ReaderConfig cfg, java.io.Reader r)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description XmlScanner
bootstrap()
Main bootstrapping method, which will try to open the underlying input source, check its encoding, read xml declaration if there is one, and finally create a scanner for actual parsing.protected int
checkKeyword(java.lang.String exp)
static CharSourceBootstrapper
construct(ReaderConfig cfg, char[] buffer, int start, int len)
static CharSourceBootstrapper
construct(ReaderConfig cfg, java.io.Reader r)
XmlScanner
doBootstrap()
protected javax.xml.stream.Location
getLocation()
protected int
getNext()
protected int
getNextAfterWs(boolean reqWs)
protected boolean
initialLoad(int minimum)
protected void
loadMore()
protected char
nextChar()
protected void
pushback()
protected int
readQuotedValue(char[] kw, int quoteChar)
protected void
skipCRLF(char lf)
protected java.lang.String
verifyXmlEncoding(java.lang.String enc)
-
Methods inherited from class com.fasterxml.aalto.in.InputBootstrapper
readXmlDeclaration, reportEof, reportNull, reportPseudoAttrProblem, reportUnexpectedChar, reportXmlProblem
-
-
-
-
Field Detail
-
DEFAULT_BUFFER_SIZE
static final int DEFAULT_BUFFER_SIZE
Whether to use a bigger (4000, ie. 8k) or smaller (2000 -> 4k) buffer size?- See Also:
- Constant Field Values
-
CHAR_BOM_MARKER
static final char CHAR_BOM_MARKER
- See Also:
- Constant Field Values
-
_in
final java.io.Reader _in
Underlying Reader to use for reading content.
-
_inputBuffer
final char[] _inputBuffer
-
_inputPtr
private int _inputPtr
-
_inputLast
private int _inputLast
Offset of the first character after the end of valid buffer contents.
-
-
Constructor Detail
-
CharSourceBootstrapper
private CharSourceBootstrapper(ReaderConfig cfg, java.io.Reader r)
-
CharSourceBootstrapper
private CharSourceBootstrapper(ReaderConfig cfg, char[] buffer, int start, int len)
-
-
Method Detail
-
construct
public static CharSourceBootstrapper construct(ReaderConfig cfg, java.io.Reader r) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
construct
public static CharSourceBootstrapper construct(ReaderConfig cfg, char[] buffer, int start, int len) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
bootstrap
public final XmlScanner bootstrap() throws javax.xml.stream.XMLStreamException
Description copied from class:InputBootstrapper
Main bootstrapping method, which will try to open the underlying input source, check its encoding, read xml declaration if there is one, and finally create a scanner for actual parsing.- Specified by:
bootstrap
in classInputBootstrapper
- Throws:
javax.xml.stream.XMLStreamException
-
doBootstrap
public XmlScanner doBootstrap() throws java.io.IOException, javax.xml.stream.XMLStreamException
- Throws:
java.io.IOException
javax.xml.stream.XMLStreamException
-
verifyXmlEncoding
protected java.lang.String verifyXmlEncoding(java.lang.String enc) throws javax.xml.stream.XMLStreamException
- Returns:
- Normalized encoding name
- Throws:
javax.xml.stream.XMLStreamException
-
initialLoad
protected boolean initialLoad(int minimum) throws java.io.IOException
- Throws:
java.io.IOException
-
loadMore
protected void loadMore() throws java.io.IOException, javax.xml.stream.XMLStreamException
- Throws:
java.io.IOException
javax.xml.stream.XMLStreamException
-
pushback
protected void pushback()
- Specified by:
pushback
in classInputBootstrapper
-
getNext
protected int getNext() throws java.io.IOException, javax.xml.stream.XMLStreamException
- Specified by:
getNext
in classInputBootstrapper
- Throws:
java.io.IOException
javax.xml.stream.XMLStreamException
-
getNextAfterWs
protected int getNextAfterWs(boolean reqWs) throws java.io.IOException, javax.xml.stream.XMLStreamException
- Specified by:
getNextAfterWs
in classInputBootstrapper
- Throws:
java.io.IOException
javax.xml.stream.XMLStreamException
-
checkKeyword
protected int checkKeyword(java.lang.String exp) throws java.io.IOException, javax.xml.stream.XMLStreamException
- Specified by:
checkKeyword
in classInputBootstrapper
- Returns:
- First character that does not match expected, if any; CHAR_NULL if match succeeded
- Throws:
java.io.IOException
javax.xml.stream.XMLStreamException
-
readQuotedValue
protected int readQuotedValue(char[] kw, int quoteChar) throws java.io.IOException, javax.xml.stream.XMLStreamException
- Specified by:
readQuotedValue
in classInputBootstrapper
- Throws:
java.io.IOException
javax.xml.stream.XMLStreamException
-
getLocation
protected javax.xml.stream.Location getLocation()
- Specified by:
getLocation
in classInputBootstrapper
-
nextChar
protected char nextChar() throws java.io.IOException, javax.xml.stream.XMLStreamException
- Throws:
java.io.IOException
javax.xml.stream.XMLStreamException
-
skipCRLF
protected void skipCRLF(char lf) throws java.io.IOException, javax.xml.stream.XMLStreamException
- Throws:
java.io.IOException
javax.xml.stream.XMLStreamException
-
-