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.InputBootstrapperInput 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, mInputProcessed, mInputRow, mInputRowStart, mPublicId, mSystemId
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ReaderbootstrapInput(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)intgetInputColumn()StringgetInputEncoding()Since this class only gets used when encoding is not explicitly passed, need use the encoding that was auto-detected...intgetInputTotal()static 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 LocationgetLocation()protected intgetNext()protected intgetNextAfterWs(boolean reqWs)protected booleanhasXmlDecl()protected voidloadMore()protected bytenextByte()protected intnextMultiByte()protected intnextTranslated()protected voidpushback()protected intreadQuotedValue(char[] kw, int quoteChar)protected voidresolveStreamEncoding()Method 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 intskipTranslatedWs()protected StringverifyXmlEncoding(String enc)
-
-
-
Method Detail
-
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
public String 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
protected void resolveStreamEncoding() throws IOException, com.ctc.wstx.exc.WstxExceptionMethod called to try to figure out physical encoding the underlying input stream uses.- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
verifyXmlEncoding
protected String verifyXmlEncoding(String enc) throws com.ctc.wstx.exc.WstxException
- Returns:
- Normalized encoding name
- Throws:
com.ctc.wstx.exc.WstxException
-
ensureLoaded
protected boolean ensureLoaded(int minimum) throws IOException- Throws:
IOException
-
loadMore
protected void loadMore() throws IOException, com.ctc.wstx.exc.WstxException- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
pushback
protected void pushback()
- Specified by:
pushbackin classcom.ctc.wstx.io.InputBootstrapper
-
getNext
protected int getNext() throws IOException, com.ctc.wstx.exc.WstxException- Specified by:
getNextin classcom.ctc.wstx.io.InputBootstrapper- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
getNextAfterWs
protected int getNextAfterWs(boolean reqWs) throws IOException, com.ctc.wstx.exc.WstxException- Specified by:
getNextAfterWsin classcom.ctc.wstx.io.InputBootstrapper- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
checkKeyword
protected int checkKeyword(String exp) throws IOException, com.ctc.wstx.exc.WstxException
- 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
protected boolean hasXmlDecl() throws IOException, com.ctc.wstx.exc.WstxException- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
getLocation
protected Location getLocation()
- Specified by:
getLocationin classcom.ctc.wstx.io.InputBootstrapper
-
nextByte
protected byte nextByte() throws IOException, com.ctc.wstx.exc.WstxException- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
skipSbWs
protected int skipSbWs() throws IOException, com.ctc.wstx.exc.WstxException- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
skipSbLF
protected void skipSbLF(byte lfByte) throws IOException, com.ctc.wstx.exc.WstxException- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
checkSbKeyword
protected int checkSbKeyword(String expected) throws IOException, com.ctc.wstx.exc.WstxException
- Returns:
- First character that does not match expected, if any; CHAR_NULL if match succeeded
- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
nextMultiByte
protected int nextMultiByte() throws IOException, com.ctc.wstx.exc.WstxException- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
nextTranslated
protected int nextTranslated() throws IOException, com.ctc.wstx.exc.WstxException- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
skipMbWs
protected int skipMbWs() throws IOException, com.ctc.wstx.exc.WstxException- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
skipTranslatedWs
protected int skipTranslatedWs() throws IOException, com.ctc.wstx.exc.WstxException- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
skipMbLF
protected void skipMbLF(int lf) throws IOException, com.ctc.wstx.exc.WstxException- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
skipTranslatedLF
protected void skipTranslatedLF(int lf) throws IOException, com.ctc.wstx.exc.WstxException- Throws:
IOExceptioncom.ctc.wstx.exc.WstxException
-
checkMbKeyword
protected int checkMbKeyword(String expected) throws IOException, com.ctc.wstx.exc.WstxException
- 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
-
-