| java.lang.Object org.apache.xerces.readers.XMLEntityReader org.apache.xerces.readers.UTF8Reader
UTF8Reader | final class UTF8Reader extends XMLEntityReader (Code) | | This is the primary reader used for UTF-8 encoded byte streams.
This reader processes requests from the scanners against the
underlying UTF-8 byte stream, avoiding when possible any up-front
transcoding. When the StringPool handle interfaces are used,
the information in the data stream will be added to the string
pool and lazy-evaluated until asked for.
We use the SymbolCache to match expected names (element types in
end tags) and walk the data structures of that class directly.
There is a significant amount of hand-inlining and some blatant
voilation of good object oriented programming rules, ignoring
boundaries of modularity, etc., in the name of good performance.
There are also some places where the code here frequently crashes
the SUN java runtime compiler (JIT) and the code here has been
carefully "crafted" to avoid those problems.
version: $Id: UTF8Reader.java,v 1.12 2001/02/01 09:58:23 andyc Exp $ |
Method Summary | |
public int | addString(int offset, int length) | public int | addSymbol(int offset, int length) | public void | append(XMLEntityHandler.CharBuffer charBuffer, int offset, int length) | public XMLEntityHandler.EntityReader | changeReaders() | public boolean | lookingAtChar(char ch, boolean skipPastChar) | public boolean | lookingAtSpace(boolean skipPastChar) | public boolean | lookingAtValidChar(boolean skipPastChar) | public int | scanAttValue(char qchar, boolean asSymbol) | public int | scanCharRef(boolean hex) | public int | scanContent(QName element) | public int | scanEntityValue(int qchar, boolean createString) | public boolean | scanExpectedName(char fastcheck, StringPool.CharArrayRange expectedName) | public int | scanInvalidChar() | public int | scanName(char fastcheck) | public void | scanQName(char fastcheck, QName qname) | public int | scanStringLiteral() | public void | skipPastName(char fastcheck) | public void | skipPastNmtoken(char fastcheck) | public void | skipPastSpaces() | public void | skipToChar(char ch) | protected boolean | skippedMultiByteCharWithFlag(int b0, int flag) | public boolean | skippedString(char[] s) |
fgAsciiAttValueChar | final public static byte fgAsciiAttValueChar(Code) | | |
fgAsciiEntityValueChar | final public static byte fgAsciiEntityValueChar(Code) | | |
addString | public int addString(int offset, int length)(Code) | | |
addSymbol | public int addSymbol(int offset, int length)(Code) | | |
lookingAtChar | public boolean lookingAtChar(char ch, boolean skipPastChar) throws Exception(Code) | | |
lookingAtSpace | public boolean lookingAtSpace(boolean skipPastChar) throws Exception(Code) | | |
lookingAtValidChar | public boolean lookingAtValidChar(boolean skipPastChar) throws Exception(Code) | | |
scanAttValue | public int scanAttValue(char qchar, boolean asSymbol) throws Exception(Code) | | |
scanEntityValue | public int scanEntityValue(int qchar, boolean createString) throws Exception(Code) | | |
skipPastName | public void skipPastName(char fastcheck) throws Exception(Code) | | |
skipPastNmtoken | public void skipPastNmtoken(char fastcheck) throws Exception(Code) | | |
skippedMultiByteCharWithFlag | protected boolean skippedMultiByteCharWithFlag(int b0, int flag) throws Exception(Code) | | |
|
|