| Modifier and Type | Field and Description |
|---|---|
| protected final XmlCharTypes | _charTypes
This is a simple container object that is used to access the decoding tables for characters. |
| protected InputStream | _in
Underlying InputStream to use for reading content. |
| protected byte[] | |
| protected int[] | _quadBuffer
This buffer is used for name parsing. |
| protected final ByteBasedPNameTable | _symbols
For now, symbol table contains prefixed names. |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| protected void | |
| protected int | |
| protected void | |
| protected final PName | |
| protected final int | Returns: -1, if indentation was handled; offset in the output buffer, if notNote consequtive white space is only considered indentation, if the following token seems like a tag (start/end). |
| protected final int | Returns: -1, if indentation was handled; offset in the output buffer, if not
|
| private final PName | findPName(int
Word with 1 to 4 bytes that make up PName onlyQuad, int Number of actual bytes contained in onlyQuad; 0 to 3. lastByteCount)Method called to process a sequence of bytes that is likely to be a PName. |
| private final PName | findPName(int
First 1 to 4 bytes of the PName firstQuad, int Word with last 1 to 4 bytes of the PName secondQuad, int Number of bytes contained in secondQuad; 0 to 3. lastByteCount)Method called to process a sequence of bytes that is likely to be a PName. |
| private final PName | findPName(int
Word with last 0 to 3 bytes of the PName; not included
in the quad array lastQuad, int[] Array that contains all the quads, except for the
last one, for names with more than 8 bytes (i.e. more than
2 quads) quads, int Number of quads in the array, except if less than 2
(in which case only firstQuad and lastQuad are used) qlen, int Number of bytes contained in lastQuad; 0 to 3. lastByteCount)Method called to process a sequence of bytes that is likely to be a PName. |
| private final PName | findPName(int
Word with last 0 to 3 bytes of the PName; not included
in the quad array lastQuad, int Number of bytes contained in lastQuad; 0 to 3. lastByteCount, int First 1 to 4 bytes of the PName (4 if length
at least 4 bytes; less only if not). firstQuad, int Number of quads in the array, except if less than 2
(in which case only firstQuad and lastQuad are used) qlen, int[] Array that contains all the quads, except for the
last one, for names with more than 8 bytes (i.e. more than
2 quads) quads)Method called to process a sequence of bytes that is likely to be a PName. |
| protected final int | |
| private final int | |
| private final int | |
| protected final int | handleEndElement()
Note that this method is currently also shareable for all Ascii-based encodings, and at least between UTF-8 and ISO-Latin1. |
| private final int | |
| protected abstract int | |
| private final int | |
| private final int | |
| protected abstract int | handleStartElement(byte b)
Parsing of start element requires parsing of the element name (and attribute names), and is thus encoding-specific. |
| protected final boolean | |
| protected final boolean | |
| protected final byte | |
| protected final byte | |
| private final void | |
| protected final byte | |
| protected final byte | |
| public final int | nextFromProlog(boolean isProlog)
Implements abstract com. |
| public final int | |
| protected final PName | parsePName(byte b)
This method can (for now?) be shared between all Ascii-based encodings, since it only does coarse validity checking -- real checks are done in different method. |
| protected final PName | |
| protected PName | |
| protected final PName | |
| protected abstract String | |
| protected abstract String | |
| protected byte |
| _charTypes | back to summary |
|---|---|
| protected final XmlCharTypes _charTypes This is a simple container object that is used to access the decoding tables for characters. Indirection is needed since we actually support multiple utf-8 compatible encodings, not just utf-8 itself. | |
| _in | back to summary |
|---|---|
| protected InputStream _in Underlying InputStream to use for reading content. | |
| _inputBuffer | back to summary |
|---|---|
| protected byte[] _inputBuffer | |
| _quadBuffer | back to summary |
|---|---|
| protected int[] _quadBuffer This buffer is used for name parsing. Will be expanded if/as needed; 32 ints can hold names 128 ascii chars long. | |
| _symbols | back to summary |
|---|---|
| protected final ByteBasedPNameTable _symbols For now, symbol table contains prefixed names. In future it is possible that they may be split into prefixes and local names? | |
| StreamScanner | back to summary |
|---|---|
| public StreamScanner(ReaderConfig cfg, InputStream in, byte[] buffer, int ptr, int last) | |
| _closeSource | back to summary |
|---|---|
| protected void _closeSource() throws IOException Implements abstract com.
| |
| _nextEntity | back to summary |
|---|---|
| protected int _nextEntity() Helper method used to isolate things that need to be (re)set in cases where | |
| _releaseBuffers | back to summary |
|---|---|
| protected void _releaseBuffers() Overrides com.
| |
| addPName | back to summary |
|---|---|
| protected final PName addPName(int hash, int[] quads, int qlen, int lastQuadBytes) throws XMLStreamException | |
| checkInTreeIndentation | back to summary |
|---|---|
| protected final int checkInTreeIndentation(int c) throws XMLStreamException Note consequtive white space is only considered indentation, if the following token seems like a tag (start/end). This so that if a CDATA section follows, it can be coalesced in coalescing mode. Although we could check if coalescing mode is enabled, this should seldom have significant effect either way, so it removes one possible source of problems in coalescing mode.
| |
| checkPrologIndentation | back to summary |
|---|---|
protected final int checkPrologIndentation(int c) throws XMLStreamException
| |
| findPName | back to summary |
|---|---|
| private final PName findPName(int onlyQuad, int lastByteCount) throws XMLStreamException Method called to process a sequence of bytes that is likely to be a PName. At this point we encountered an end marker, and may either hit a formerly seen well-formed PName; an as-of-yet unseen well-formed PName; or a non-well-formed sequence (containing one or more non-name chars without any valid end markers).
| |
| findPName | back to summary |
|---|---|
| private final PName findPName(int firstQuad, int secondQuad, int lastByteCount) throws XMLStreamException Method called to process a sequence of bytes that is likely to be a PName. At this point we encountered an end marker, and may either hit a formerly seen well-formed PName; an as-of-yet unseen well-formed PName; or a non-well-formed sequence (containing one or more non-name chars without any valid end markers).
| |
| findPName | back to summary |
|---|---|
| private final PName findPName(int lastQuad, int[] quads, int qlen, int lastByteCount) throws XMLStreamException Method called to process a sequence of bytes that is likely to be a PName. At this point we encountered an end marker, and may either hit a formerly seen well-formed PName; an as-of-yet unseen well-formed PName; or a non-well-formed sequence (containing one or more non-name chars without any valid end markers).
| |
| findPName | back to summary |
|---|---|
| private final PName findPName(int lastQuad, int lastByteCount, int firstQuad, int qlen, int[] quads) throws XMLStreamException Method called to process a sequence of bytes that is likely to be a PName. At this point we encountered an end marker, and may either hit a formerly seen well-formed PName; an as-of-yet unseen well-formed PName; or a non-well-formed sequence (containing one or more non-name chars without any valid end markers).
| |
| handleCharEntity | back to summary |
|---|---|
protected final int handleCharEntity() throws XMLStreamException
| |
| handleCommentOrCdataStart | back to summary |
|---|---|
| private final int handleCommentOrCdataStart() throws XMLStreamException | |
| handleDtdStart | back to summary |
|---|---|
| private final int handleDtdStart() throws XMLStreamException | |
| handleEndElement | back to summary |
|---|---|
| protected final int handleEndElement() throws XMLStreamException Note that this method is currently also shareable for all Ascii-based encodings, and at least between UTF-8 and ISO-Latin1. The reason is that since we already know exact bytes that need to be matched, there's no danger of getting invalid encodings or such. So, for now, let's leave this method here in the base class. | |
| handleEndElementSlow | back to summary |
|---|---|
| private final int handleEndElementSlow(int size) throws XMLStreamException | |
| handleEntityInText | back to summary |
|---|---|
| protected abstract int handleEntityInText(boolean inAttr) throws XMLStreamException | |
| handlePIStart | back to summary |
|---|---|
| private final int handlePIStart() throws XMLStreamException
| |
| handlePrologDeclStart | back to summary |
|---|---|
| private final int handlePrologDeclStart(boolean isProlog) throws XMLStreamException | |
| handleStartElement | back to summary |
|---|---|
| protected abstract int handleStartElement(byte b) throws XMLStreamException Parsing of start element requires parsing of the element name (and attribute names), and is thus encoding-specific. | |
| loadAndRetain | back to summary |
|---|---|
| protected final boolean loadAndRetain(int nrOfChars) throws XMLStreamException | |
| loadMore | back to summary |
|---|---|
| protected final boolean loadMore() throws XMLStreamException Implements abstract com.
| |
| loadOne | back to summary |
|---|---|
| protected final byte loadOne() throws XMLStreamException | |
| loadOne | back to summary |
|---|---|
| protected final byte loadOne(int type) throws XMLStreamException | |
| matchAsciiKeyword | back to summary |
|---|---|
| private final void matchAsciiKeyword(String keyw) throws XMLStreamException | |
| nextByte | back to summary |
|---|---|
| protected final byte nextByte(int tt) throws XMLStreamException | |
| nextByte | back to summary |
|---|---|
| protected final byte nextByte() throws XMLStreamException | |
| nextFromProlog | back to summary |
|---|---|
| public final int nextFromProlog(boolean isProlog) throws XMLStreamException Implements abstract com.
| |
| nextFromTree | back to summary |
|---|---|
| public final int nextFromTree() throws XMLStreamException Implements abstract com.
| |
| parsePName | back to summary |
|---|---|
| protected final PName parsePName(byte b) throws XMLStreamException This method can (for now?) be shared between all Ascii-based encodings, since it only does coarse validity checking -- real checks are done in different method. Some notes about assumption implementation makes:
| |
| parsePNameLong | back to summary |
|---|---|
| protected final PName parsePNameLong(int q, int[] quads) throws XMLStreamException | |
| parsePNameMedium | back to summary |
|---|---|
| protected PName parsePNameMedium(int i2, int q1) throws XMLStreamException | |
| parsePNameSlow | back to summary |
|---|---|
| protected final PName parsePNameSlow(byte b) throws XMLStreamException | |
| parsePublicId | back to summary |
|---|---|
| protected abstract String parsePublicId(byte quoteChar) throws XMLStreamException | |
| parseSystemId | back to summary |
|---|---|
| protected abstract String parseSystemId(byte quoteChar) throws XMLStreamException | |
| skipInternalWs | back to summary |
|---|---|
protected byte skipInternalWs(boolean reqd, String msg) throws XMLStreamException
| |