com.ctc.wstx.io
Class StreamBootstrapper

java.lang.Object
  extended by com.ctc.wstx.io.InputBootstrapper
      extended by com.ctc.wstx.io.StreamBootstrapper

public final class StreamBootstrapper
extends 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).


Field Summary
 
Fields inherited from class com.ctc.wstx.io.InputBootstrapper
BYTE_CR, BYTE_LF, BYTE_NULL, CHAR_CR, CHAR_LF, 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
 java.io.Reader bootstrapInput(ReaderConfig cfg, boolean mainDoc, int xmlVersion)
           
protected  int checkKeyword(java.lang.String exp)
           
protected  int checkMbKeyword(java.lang.String expected)
           
protected  int checkSbKeyword(java.lang.String expected)
           
protected  boolean ensureLoaded(int minimum)
           
 int getInputColumn()
           
 java.lang.String getInputEncoding()
          Since this class only gets used when encoding is not explicitly passed, need use the encoding that was auto-detected...
 int getInputTotal()
           
static StreamBootstrapper getInstance(java.io.InputStream in, java.lang.String pubId, java.lang.String sysId)
           
protected  javax.xml.stream.Location getLocation()
           
protected  int getNext()
           
protected  int getNextAfterWs(boolean reqWs)
           
protected  boolean hasXmlDecl()
           
protected  void loadMore()
           
protected  byte nextByte()
           
protected  int nextMultiByte()
           
protected  void pushback()
           
protected  int readQuotedValue(char[] kw, int quoteChar)
           
protected  void resolveStreamEncoding()
          Method called to try to figure out physical encoding the underlying input stream uses.
protected  void skipMbLF(int lf)
           
protected  int skipMbWs()
           
protected  void skipSbLF(byte lfByte)
           
protected  int skipSbWs()
           
protected  java.lang.String verifyXmlEncoding(java.lang.String enc)
           
 
Methods inherited from class com.ctc.wstx.io.InputBootstrapper
declaredXml11, getDeclaredEncoding, getDeclaredVersion, getInputRow, getPublicId, getStandalone, getSystemId, readXmlDecl, reportNull, reportUnexpectedChar, reportXmlProblem
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static StreamBootstrapper getInstance(java.io.InputStream in,
                                             java.lang.String pubId,
                                             java.lang.String sysId)

bootstrapInput

public java.io.Reader bootstrapInput(ReaderConfig cfg,
                                     boolean mainDoc,
                                     int xmlVersion)
                              throws java.io.IOException,
                                     javax.xml.stream.XMLStreamException
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.
Throws:
java.io.IOException
javax.xml.stream.XMLStreamException

getInputEncoding

public java.lang.String getInputEncoding()
Since this class only gets used when encoding is not explicitly passed, need use the encoding that was auto-detected...

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

resolveStreamEncoding

protected void resolveStreamEncoding()
                              throws java.io.IOException,
                                     WstxException
Method called to try to figure out physical encoding the underlying input stream uses.

Throws:
java.io.IOException
WstxException

verifyXmlEncoding

protected java.lang.String verifyXmlEncoding(java.lang.String enc)
                                      throws WstxException
Returns:
Normalized encoding name
Throws:
WstxException

ensureLoaded

protected boolean ensureLoaded(int minimum)
                        throws java.io.IOException
Throws:
java.io.IOException

loadMore

protected void loadMore()
                 throws java.io.IOException,
                        WstxException
Throws:
java.io.IOException
WstxException

pushback

protected void pushback()
Specified by:
pushback in class InputBootstrapper

getNext

protected int getNext()
               throws java.io.IOException,
                      WstxException
Specified by:
getNext in class InputBootstrapper
Throws:
java.io.IOException
WstxException

getNextAfterWs

protected int getNextAfterWs(boolean reqWs)
                      throws java.io.IOException,
                             WstxException
Specified by:
getNextAfterWs in class InputBootstrapper
Throws:
java.io.IOException
WstxException

checkKeyword

protected int checkKeyword(java.lang.String exp)
                    throws java.io.IOException,
                           WstxException
Specified by:
checkKeyword in class InputBootstrapper
Returns:
First character that does not match expected, if any; CHAR_NULL if match succeeded
Throws:
java.io.IOException
WstxException

readQuotedValue

protected int readQuotedValue(char[] kw,
                              int quoteChar)
                       throws java.io.IOException,
                              WstxException
Specified by:
readQuotedValue in class InputBootstrapper
Throws:
java.io.IOException
WstxException

hasXmlDecl

protected boolean hasXmlDecl()
                      throws java.io.IOException,
                             WstxException
Throws:
java.io.IOException
WstxException

getLocation

protected javax.xml.stream.Location getLocation()
Specified by:
getLocation in class InputBootstrapper

nextByte

protected byte nextByte()
                 throws java.io.IOException,
                        WstxException
Throws:
java.io.IOException
WstxException

skipSbWs

protected int skipSbWs()
                throws java.io.IOException,
                       WstxException
Throws:
java.io.IOException
WstxException

skipSbLF

protected void skipSbLF(byte lfByte)
                 throws java.io.IOException,
                        WstxException
Throws:
java.io.IOException
WstxException

checkSbKeyword

protected int checkSbKeyword(java.lang.String expected)
                      throws java.io.IOException,
                             WstxException
Returns:
First character that does not match expected, if any; CHAR_NULL if match succeeded
Throws:
java.io.IOException
WstxException

nextMultiByte

protected int nextMultiByte()
                     throws java.io.IOException,
                            WstxException
Throws:
java.io.IOException
WstxException

skipMbWs

protected int skipMbWs()
                throws java.io.IOException,
                       WstxException
Throws:
java.io.IOException
WstxException

skipMbLF

protected void skipMbLF(int lf)
                 throws java.io.IOException,
                        WstxException
Throws:
java.io.IOException
WstxException

checkMbKeyword

protected int checkMbKeyword(java.lang.String expected)
                      throws java.io.IOException,
                             WstxException
Returns:
First character that does not match expected, if any; CHAR_NULL if match succeeded
Throws:
java.io.IOException
WstxException