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_inUnderlying Reader to use for reading content.(package private) char[]_inputBufferprivate int_inputLastOffset of the first character after the end of valid buffer contents.private int_inputPtr(package private) static charCHAR_BOM_MARKER(package private) static intDEFAULT_BUFFER_SIZEWhether 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 privateCharSourceBootstrapper(ReaderConfig cfg, char[] buffer, int start, int len)privateCharSourceBootstrapper(ReaderConfig cfg, java.io.Reader r)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description XmlScannerbootstrap()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 intcheckKeyword(java.lang.String exp)static CharSourceBootstrapperconstruct(ReaderConfig cfg, char[] buffer, int start, int len)static CharSourceBootstrapperconstruct(ReaderConfig cfg, java.io.Reader r)XmlScannerdoBootstrap()protected javax.xml.stream.LocationgetLocation()protected intgetNext()protected intgetNextAfterWs(boolean reqWs)protected booleaninitialLoad(int minimum)protected voidloadMore()protected charnextChar()protected voidpushback()protected intreadQuotedValue(char[] kw, int quoteChar)protected voidskipCRLF(char lf)protected java.lang.StringverifyXmlEncoding(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:InputBootstrapperMain 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:
bootstrapin classInputBootstrapper- Throws:
javax.xml.stream.XMLStreamException
-
doBootstrap
public XmlScanner doBootstrap() throws java.io.IOException, javax.xml.stream.XMLStreamException
- Throws:
java.io.IOExceptionjavax.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.IOExceptionjavax.xml.stream.XMLStreamException
-
pushback
protected void pushback()
- Specified by:
pushbackin classInputBootstrapper
-
getNext
protected int getNext() throws java.io.IOException, javax.xml.stream.XMLStreamException- Specified by:
getNextin classInputBootstrapper- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
getNextAfterWs
protected int getNextAfterWs(boolean reqWs) throws java.io.IOException, javax.xml.stream.XMLStreamException- Specified by:
getNextAfterWsin classInputBootstrapper- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
checkKeyword
protected int checkKeyword(java.lang.String exp) throws java.io.IOException, javax.xml.stream.XMLStreamException- Specified by:
checkKeywordin classInputBootstrapper- Returns:
- First character that does not match expected, if any; CHAR_NULL if match succeeded
- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
readQuotedValue
protected int readQuotedValue(char[] kw, int quoteChar) throws java.io.IOException, javax.xml.stream.XMLStreamException- Specified by:
readQuotedValuein classInputBootstrapper- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
getLocation
protected javax.xml.stream.Location getLocation()
- Specified by:
getLocationin classInputBootstrapper
-
nextChar
protected char nextChar() throws java.io.IOException, javax.xml.stream.XMLStreamException- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
skipCRLF
protected void skipCRLF(char lf) throws java.io.IOException, javax.xml.stream.XMLStreamException- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
-