com.ctc.wstx.io
Class ReaderBootstrapper
java.lang.Object
com.ctc.wstx.io.InputBootstrapper
com.ctc.wstx.io.ReaderBootstrapper
public final class ReaderBootstrapper
- extends InputBootstrapper
Input bootstrap class used when input comes from a Reader; in this case,
encoding is already known, and thus encoding from XML declaration (if
any) is only double-checked, not really used.
Note: since the actual Reader to use after bootstrapping is pre-constructed,
the local input buffer can (and should) be quite small.
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 |
Methods inherited from class com.ctc.wstx.io.InputBootstrapper |
declaredXml11, getDeclaredEncoding, getDeclaredVersion, getInputRow, getPublicId, getStandalone, getSystemId, initFrom, readXmlDecl, reportNull, reportUnexpectedChar, reportXmlProblem |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
getInstance
public static ReaderBootstrapper getInstance(String pubId,
String sysId,
Reader r,
String appEncoding)
- Parameters:
r
- Eventual reader that will be reading actual content, after
bootstrapping finishesappEncoding
- Encoding that application declared; may be null.
If not null, will be compared to actual declaration found; and
incompatibility reported as a potential (but not necessarily fatal)
problem.
bootstrapInput
public Reader bootstrapInput(ReaderConfig cfg,
boolean mainDoc,
int xmlVersion)
throws IOException,
XMLStreamException
- Method called to do actual bootstrapping.
- Specified by:
bootstrapInput
in class InputBootstrapper
xmlVersion
- Optional xml version identifier of the main parsed
document (if not bootstrapping the main document).
Currently only relevant for checking that XML 1.0 document does not
include XML 1.1 external parsed entities.
If null, no checks will be done; when bootstrapping parsing of the
main document, null should be passed for this argument.
- Returns:
- Actual reader to use for reading xml content
- Throws:
IOException
XMLStreamException
getInputEncoding
public String getInputEncoding()
- Description copied from class:
InputBootstrapper
- Actual character encoding used by the underlying input source;
may have been passed by the application, or auto-detected
by byte stream boot strapper (can not be determined from a
Reader source).
- Specified by:
getInputEncoding
in class InputBootstrapper
- Returns:
- Input encoding in use, if it could be determined or was
passed by the calling application
getInputTotal
public int getInputTotal()
- Specified by:
getInputTotal
in class InputBootstrapper
- Returns:
- Total number of characters read from bootstrapped input
(stream, reader)
getInputColumn
public int getInputColumn()
- Specified by:
getInputColumn
in class InputBootstrapper
verifyXmlEncoding
protected void verifyXmlEncoding(ReaderConfig cfg)
throws XMLStreamException
- Throws:
XMLStreamException
initialLoad
protected boolean initialLoad(int minimum)
throws IOException
- Throws:
IOException
loadMore
protected void loadMore()
throws IOException,
WstxException
- Throws:
IOException
WstxException
pushback
protected void pushback()
- Specified by:
pushback
in class InputBootstrapper
getNext
protected int getNext()
throws IOException,
WstxException
- Specified by:
getNext
in class InputBootstrapper
- Throws:
IOException
WstxException
getNextAfterWs
protected int getNextAfterWs(boolean reqWs)
throws IOException,
WstxException
- Specified by:
getNextAfterWs
in class InputBootstrapper
- Throws:
IOException
WstxException
checkKeyword
protected int checkKeyword(String exp)
throws IOException,
WstxException
- Specified by:
checkKeyword
in class InputBootstrapper
- Returns:
- First character that does not match expected, if any;
CHAR_NULL if match succeeded
- Throws:
IOException
WstxException
readQuotedValue
protected int readQuotedValue(char[] kw,
int quoteChar)
throws IOException,
WstxException
- Specified by:
readQuotedValue
in class InputBootstrapper
- Throws:
IOException
WstxException
getLocation
protected Location getLocation()
- Specified by:
getLocation
in class InputBootstrapper
nextChar
protected char nextChar()
throws IOException,
WstxException
- Throws:
IOException
WstxException
skipCRLF
protected void skipCRLF(char lf)
throws IOException,
WstxException
- Throws:
IOException
WstxException