Package com.ctc.wstx.io
Class BambooStreamBootstrapper
java.lang.Object
com.ctc.wstx.io.InputBootstrapper
com.ctc.wstx.io.BambooStreamBootstrapper
public final class BambooStreamBootstrapper
extends com.ctc.wstx.io.InputBootstrapper
Input bootstrap class used with streams, when encoding is not known (when encoding is specified by application, a
reader is constructed, and then reader-based bootstrapper is used). Encoding used for an entity (including main
document entity) is determined using algorithms suggested in XML 1.0#3 spec, appendix F
-
Field Summary
Fields inherited from class com.ctc.wstx.io.InputBootstrapper
BYTE_CR, BYTE_LF, BYTE_NULL, CHAR_CR, CHAR_LF, CHAR_NEL, CHAR_NULL, CHAR_SPACE, 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, mInputProcessed, mInputRow, mInputRowStart, mKeywordBuffer, mPublicId, mStandalone, mSystemId, mXml11Handling -
Method Summary
Modifier and TypeMethodDescriptionbootstrapInput(com.ctc.wstx.api.ReaderConfig cfg, boolean mainDoc, int xmlVersion) protected intcheckKeyword(String exp) protected intcheckMbKeyword(String expected) protected intcheckSbKeyword(String expected) protected intcheckTranslatedKeyword(String expected) protected booleanensureLoaded(int minimum) intSince this class only gets used when encoding is not explicitly passed, need use the encoding that was auto-detected...intstatic BambooStreamBootstrappergetInstance(String pubId, com.ctc.wstx.io.SystemId sysId, byte[] data, int start, int end) Factory method used when the underlying data provider is a pre-allocated block source, and no stream is used.static BambooStreamBootstrappergetInstance(String pubId, com.ctc.wstx.io.SystemId sysId, InputStream in) Factory method used when the underlying data provider is an actual stream.protected Locationprotected intgetNext()protected intgetNextAfterWs(boolean reqWs) protected booleanprotected voidloadMore()protected bytenextByte()protected intprotected intprotected voidpushback()protected intreadQuotedValue(char[] kw, int quoteChar) protected voidMethod called to try to figure out physical encoding the underlying input stream uses.protected voidskipMbLF(int lf) protected intskipMbWs()protected voidskipSbLF(byte lfByte) protected intskipSbWs()protected voidskipTranslatedLF(int lf) protected intprotected StringverifyXmlEncoding(String enc) Methods inherited from class com.ctc.wstx.io.InputBootstrapper
declaredXml11, getDeclaredEncoding, getDeclaredVersion, getInputRow, getPublicId, getStandalone, getSystemId, initFrom, readXmlDecl, reportNull, reportUnexpectedChar, reportXmlProblem
-
Method Details
-
getInstance
public static BambooStreamBootstrapper getInstance(String pubId, com.ctc.wstx.io.SystemId sysId, InputStream in) Factory method used when the underlying data provider is an actual stream. -
getInstance
public static BambooStreamBootstrapper getInstance(String pubId, com.ctc.wstx.io.SystemId sysId, byte[] data, int start, int end) Factory method used when the underlying data provider is a pre-allocated block source, and no stream is used. Additionally the buffer passed is not owned by the bootstrapper or Reader that is created, so it is not to be recycled. -
bootstrapInput
public Reader bootstrapInput(com.ctc.wstx.api.ReaderConfig cfg, boolean mainDoc, int xmlVersion) throws IOException, XMLStreamException - Specified by:
bootstrapInputin classcom.ctc.wstx.io.InputBootstrapper- Throws:
IOExceptionXMLStreamException
-
getInputEncoding
Since this class only gets used when encoding is not explicitly passed, need use the encoding that was auto-detected...- Specified by:
getInputEncodingin classcom.ctc.wstx.io.InputBootstrapper
-
getInputTotal
public int getInputTotal()- Specified by:
getInputTotalin classcom.ctc.wstx.io.InputBootstrapper
-
getInputColumn
public int getInputColumn()- Specified by:
getInputColumnin classcom.ctc.wstx.io.InputBootstrapper
-
resolveStreamEncoding
Method called to try to figure out physical encoding the underlying input stream uses.- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
verifyXmlEncoding
- Returns:
- Normalized encoding name
- Throws:
com.ctc.wstx.exc.WstxException
-
ensureLoaded
- Throws:
IOException
-
loadMore
- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
pushback
protected void pushback()- Specified by:
pushbackin classcom.ctc.wstx.io.InputBootstrapper
-
getNext
- Specified by:
getNextin classcom.ctc.wstx.io.InputBootstrapper- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
getNextAfterWs
- Specified by:
getNextAfterWsin classcom.ctc.wstx.io.InputBootstrapper- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
checkKeyword
- Specified by:
checkKeywordin classcom.ctc.wstx.io.InputBootstrapper- Returns:
- First character that does not match expected, if any; CHAR_NULL if match succeeded
- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
readQuotedValue
protected int readQuotedValue(char[] kw, int quoteChar) throws IOException, com.ctc.wstx.exc.WstxException - Specified by:
readQuotedValuein classcom.ctc.wstx.io.InputBootstrapper- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
hasXmlDecl
- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
getLocation
- Specified by:
getLocationin classcom.ctc.wstx.io.InputBootstrapper
-
nextByte
- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
skipSbWs
- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
skipSbLF
- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
checkSbKeyword
- Returns:
- First character that does not match expected, if any; CHAR_NULL if match succeeded
- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
nextMultiByte
- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
nextTranslated
- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
skipMbWs
- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
skipTranslatedWs
- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
skipMbLF
- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
skipTranslatedLF
- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
checkMbKeyword
- Returns:
- First character that does not match expected, if any; CHAR_NULL if match succeeded
- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
checkTranslatedKeyword
protected int checkTranslatedKeyword(String expected) throws IOException, com.ctc.wstx.exc.WstxException - Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-