|
|||||||||
Home >> All >> org >> apache >> xerces >> [ readers overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: ![]() ![]() ![]() |
DETAIL: FIELD | CONSTR | METHOD |
org.apache.xerces.readers
Class StreamingCharReader

java.lang.Objectorg.apache.xerces.readers.XMLEntityReader
org.apache.xerces.readers.StreamingCharReader
- All Implemented Interfaces:
- XMLEntityHandler.EntityReader
- public class StreamingCharReader
- extends XMLEntityReader
An reader class for applications that need to process input data as it arrives on the stream.
- Version:
- $Id: StreamingCharReader.java,v 1.2 2000/10/07 18:06:55 markd Exp $
Nested Class Summary | |
private class |
StreamingCharReader.DeferredError
|
Field Summary | |
private static char[] |
cdata_string
|
private boolean |
fCallClearPreviousChunk
|
protected boolean |
fCalledCharPropInit
|
protected int |
fCarriageReturnCounter
|
protected int |
fCharacterCounter
|
protected java.io.Reader |
fCharacterStream
|
protected XMLEntityHandler.CharDataHandler |
fCharDataHandler
|
protected org.apache.xerces.utils.CharDataChunk |
fCurrentChunk
|
protected int |
fCurrentIndex
|
protected int |
fCurrentOffset
|
private java.util.Vector |
fDeferredErrors
|
protected XMLEntityHandler |
fEntityHandler
|
protected org.apache.xerces.framework.XMLErrorReporter |
fErrorReporter
|
protected int |
fFillIndex
|
protected boolean |
fInCDSect
|
protected int |
fLength
|
protected int |
fLinefeedCounter
|
protected int |
fMostRecentChar
|
protected char[] |
fMostRecentData
|
protected boolean |
fSendCharDataAsCharArray
|
private org.apache.xerces.utils.StringPool |
fStringPool
|
private char[] |
inBuffer
|
private int |
oweChar
|
private boolean |
seenCR
|
Constructor Summary | |
StreamingCharReader(XMLEntityHandler entityHandler,
org.apache.xerces.framework.XMLErrorReporter errorReporter,
boolean sendCharDataAsCharArray,
java.io.Reader reader,
org.apache.xerces.utils.StringPool stringPool)
Constructor |
Method Summary | |
int |
addString(int offset,
int length)
Add a string to the StringPool from the characters scanned using this
reader as described by offset and length . |
int |
addSymbol(int offset,
int length)
Add a symbol to the StringPool from the characters scanned using this
reader as described by offset and length . |
void |
append(XMLEntityHandler.CharBuffer charBuffer,
int offset,
int length)
Append the characters processed by this reader associated with offset and
length to the CharBuffer . |
private boolean |
atEOF(int offset)
|
private void |
callCharDataHandler(int offset,
int endOffset,
boolean isWhitespace)
|
protected XMLEntityHandler.EntityReader |
changeReaders()
Change readers at end of input. |
int |
currentOffset()
Return the current offset within this reader. |
protected void |
deferException(int errorCode,
java.lang.Object[] args,
int offset)
Delay reporting an error message. |
int |
getColumnNumber()
Return the column number of the current position within the document that we are processing. |
boolean |
getInCDSect()
This method is provided for scanner implementations. |
int |
getLineNumber()
Return the line number of the current position within the document that we are processing. |
protected void |
init(XMLEntityHandler entityHandler,
org.apache.xerces.framework.XMLErrorReporter errorReporter,
boolean sendCharDataAsCharArray,
int lineNumber,
int columnNumber)
|
private void |
loadFirstChar()
|
private int |
loadMoreChars()
|
private int |
loadNextChar()
|
boolean |
lookingAtChar(char chr,
boolean skipPastChar)
Test that the current character is a ch character. |
boolean |
lookingAtSpace(boolean skipPastChar)
Test that the current character is a whitespace character. |
boolean |
lookingAtValidChar(boolean skipPastChar)
Test that the current character is valid. |
private int |
recognizeMarkup(int ch)
|
private int |
recognizeReference(int ch)
|
int |
scanAttValue(char qchar,
boolean asSymbol)
Scan an attribute value. |
int |
scanCharRef(boolean hex)
Scan a character reference. |
int |
scanContent(org.apache.xerces.utils.QName element)
Skip through the input while we are looking at character data. |
int |
scanEntityValue(int qchar,
boolean createString)
Scan an entity value. |
boolean |
scanExpectedName(char fastcheck,
org.apache.xerces.utils.StringPool.CharArrayRange expectedName)
Scan the name that is expected at the current position in the document. |
int |
scanInvalidChar()
Scan an invalid character. |
int |
scanName(char fastcheck)
Add a sequence of characters that match the XML definition of a Name to the StringPool . |
void |
scanQName(char fastcheck,
org.apache.xerces.utils.QName qname)
Add a sequence of characters that match the XML Namespaces definition of a QName to the StringPool . |
int |
scanStringLiteral()
Scan a string literal. |
void |
setInCDSect(boolean inCDSect)
This method is provided for scanner implementations. |
private int |
skipAsciiCharData()
|
private boolean |
skipMultiByteCharData(int ch)
|
void |
skipPastName(char fastcheck)
Skip past a sequence of characters that match the XML definition of a Name. |
void |
skipPastNmtoken(char fastcheck)
Skip past a sequence of characters that match the XML definition of an Nmtoken. |
void |
skipPastSpaces()
Skip past whitespace characters starting at the current position. |
boolean |
skippedString(char[] s)
Skip past a sequence of characters that matches the specified character array. |
void |
skipToChar(char chr)
Advance through the input data up to the next ch character. |
private int |
slowLoadNextChar()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
cdata_string
private static final char[] cdata_string
fStringPool
private org.apache.xerces.utils.StringPool fStringPool
fCallClearPreviousChunk
private boolean fCallClearPreviousChunk
fDeferredErrors
private java.util.Vector fDeferredErrors
seenCR
private boolean seenCR
oweChar
private int oweChar
inBuffer
private char[] inBuffer
fCharacterStream
protected java.io.Reader fCharacterStream
fCurrentChunk
protected org.apache.xerces.utils.CharDataChunk fCurrentChunk
fCurrentIndex
protected int fCurrentIndex
fFillIndex
protected int fFillIndex
fMostRecentData
protected char[] fMostRecentData
fMostRecentChar
protected int fMostRecentChar
fLength
protected int fLength
fCalledCharPropInit
protected boolean fCalledCharPropInit
fEntityHandler
protected XMLEntityHandler fEntityHandler
fErrorReporter
protected org.apache.xerces.framework.XMLErrorReporter fErrorReporter
fSendCharDataAsCharArray
protected boolean fSendCharDataAsCharArray
fCharDataHandler
protected XMLEntityHandler.CharDataHandler fCharDataHandler
fInCDSect
protected boolean fInCDSect
fCarriageReturnCounter
protected int fCarriageReturnCounter
fLinefeedCounter
protected int fLinefeedCounter
fCharacterCounter
protected int fCharacterCounter
fCurrentOffset
protected int fCurrentOffset
Constructor Detail |
StreamingCharReader
public StreamingCharReader(XMLEntityHandler entityHandler, org.apache.xerces.framework.XMLErrorReporter errorReporter, boolean sendCharDataAsCharArray, java.io.Reader reader, org.apache.xerces.utils.StringPool stringPool) throws java.lang.Exception
- Constructor
Method Detail |
deferException
protected void deferException(int errorCode, java.lang.Object[] args, int offset)
- Delay reporting an error message.
If there is an error detected in the underlying input stream during
the fillCurrentChunk method, the error is described here and will be
reported when we reach that offset during normal processing. The
subclass should place a character with a value of zero at that offset,
which will be detected here as an invalid character. When the invalid
character is scanned, we will generate the deferred exception.
changeReaders
protected XMLEntityHandler.EntityReader changeReaders() throws java.lang.Exception
- Change readers at end of input.
We override our superclass method to release the final chunk
of the input data before handing off to the next reader.
- Overrides:
changeReaders
in classXMLEntityReader
append
public void append(XMLEntityHandler.CharBuffer charBuffer, int offset, int length)
- Append the characters processed by this reader associated with
offset
andlength
to theCharBuffer
.
addString
public int addString(int offset, int length)
- Add a string to the
StringPool
from the characters scanned using this reader as described byoffset
andlength
.
addSymbol
public int addSymbol(int offset, int length)
- Add a symbol to the
StringPool
from the characters scanned using this reader as described byoffset
andlength
.
lookingAtChar
public boolean lookingAtChar(char chr, boolean skipPastChar) throws java.lang.Exception
- Description copied from interface:
XMLEntityHandler.EntityReader
- Test that the current character is a
ch
character.
lookingAtValidChar
public boolean lookingAtValidChar(boolean skipPastChar) throws java.lang.Exception
- Description copied from interface:
XMLEntityHandler.EntityReader
- Test that the current character is valid.
lookingAtSpace
public boolean lookingAtSpace(boolean skipPastChar) throws java.lang.Exception
- Description copied from interface:
XMLEntityHandler.EntityReader
- Test that the current character is a whitespace character.
skipToChar
public void skipToChar(char chr) throws java.lang.Exception
- Description copied from interface:
XMLEntityHandler.EntityReader
- Advance through the input data up to the next
ch
character.
skipPastSpaces
public void skipPastSpaces() throws java.lang.Exception
- Description copied from interface:
XMLEntityHandler.EntityReader
- Skip past whitespace characters starting at the current position.
skipPastName
public void skipPastName(char fastcheck) throws java.lang.Exception
- Description copied from interface:
XMLEntityHandler.EntityReader
- Skip past a sequence of characters that match the XML definition of a Name.
skipPastNmtoken
public void skipPastNmtoken(char fastcheck) throws java.lang.Exception
- Description copied from interface:
XMLEntityHandler.EntityReader
- Skip past a sequence of characters that match the XML definition of an Nmtoken.
skippedString
public boolean skippedString(char[] s) throws java.lang.Exception
- Description copied from interface:
XMLEntityHandler.EntityReader
- Skip past a sequence of characters that matches the specified character array.
scanInvalidChar
public int scanInvalidChar() throws java.lang.Exception
- Description copied from interface:
XMLEntityHandler.EntityReader
- Scan an invalid character.
scanCharRef
public int scanCharRef(boolean hex) throws java.lang.Exception
- Description copied from interface:
XMLEntityHandler.EntityReader
- Scan a character reference.
scanStringLiteral
public int scanStringLiteral() throws java.lang.Exception
- Description copied from interface:
XMLEntityHandler.EntityReader
- Scan a string literal.
scanAttValue
public int scanAttValue(char qchar, boolean asSymbol) throws java.lang.Exception
- Description copied from interface:
XMLEntityHandler.EntityReader
- Scan an attribute value.
scanEntityValue
public int scanEntityValue(int qchar, boolean createString) throws java.lang.Exception
- Description copied from interface:
XMLEntityHandler.EntityReader
- Scan an entity value.
scanName
public int scanName(char fastcheck) throws java.lang.Exception
- Description copied from interface:
XMLEntityHandler.EntityReader
- Add a sequence of characters that match the XML definition of a Name to the
StringPool
. If we find a name at the current position we will add it to theStringPool
as a symbol and will return the string pool handle for that symbol to the caller.
scanExpectedName
public boolean scanExpectedName(char fastcheck, org.apache.xerces.utils.StringPool.CharArrayRange expectedName) throws java.lang.Exception
- Description copied from interface:
XMLEntityHandler.EntityReader
- Scan the name that is expected at the current position in the document.
This method is invoked when we are scanning the element type in an end tag
that must match the element type in the corresponding start tag.
scanQName
public void scanQName(char fastcheck, org.apache.xerces.utils.QName qname) throws java.lang.Exception
- Description copied from interface:
XMLEntityHandler.EntityReader
- Add a sequence of characters that match the XML Namespaces definition of a QName
to the
StringPool
. If we find a QName at the current position we will add it to theStringPool
and will return the string pool handle of that QName to the caller.
scanContent
public int scanContent(org.apache.xerces.utils.QName element) throws java.lang.Exception
- Description copied from interface:
XMLEntityHandler.EntityReader
- Skip through the input while we are looking at character data.
recognizeMarkup
private int recognizeMarkup(int ch) throws java.lang.Exception
recognizeReference
private int recognizeReference(int ch) throws java.lang.Exception
skipMultiByteCharData
private boolean skipMultiByteCharData(int ch) throws java.lang.Exception
skipAsciiCharData
private int skipAsciiCharData() throws java.lang.Exception
callCharDataHandler
private void callCharDataHandler(int offset, int endOffset, boolean isWhitespace) throws java.lang.Exception
slowLoadNextChar
private int slowLoadNextChar() throws java.lang.Exception
loadNextChar
private int loadNextChar() throws java.lang.Exception
loadFirstChar
private void loadFirstChar() throws java.lang.Exception
loadMoreChars
private int loadMoreChars() throws java.lang.Exception
atEOF
private boolean atEOF(int offset)
init
protected void init(XMLEntityHandler entityHandler, org.apache.xerces.framework.XMLErrorReporter errorReporter, boolean sendCharDataAsCharArray, int lineNumber, int columnNumber)
currentOffset
public int currentOffset()
- Return the current offset within this reader.
- Specified by:
currentOffset
in interfaceXMLEntityHandler.EntityReader
getLineNumber
public int getLineNumber()
- Return the line number of the current position within the document that we are processing.
- Specified by:
getLineNumber
in interfaceXMLEntityHandler.EntityReader
getColumnNumber
public int getColumnNumber()
- Return the column number of the current position within the document that we are processing.
- Specified by:
getColumnNumber
in interfaceXMLEntityHandler.EntityReader
setInCDSect
public void setInCDSect(boolean inCDSect)
- This method is provided for scanner implementations.
- Specified by:
setInCDSect
in interfaceXMLEntityHandler.EntityReader
getInCDSect
public boolean getInCDSect()
- This method is provided for scanner implementations.
- Specified by:
getInCDSect
in interfaceXMLEntityHandler.EntityReader
|
|||||||||
Home >> All >> org >> apache >> xerces >> [ readers overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: ![]() ![]() ![]() |
DETAIL: FIELD | CONSTR | METHOD |