|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.enhydra.apache.xerces.readers.XMLEntityReader | +--org.enhydra.apache.xerces.readers.AbstractCharReader
An abstract class for readers that process input data as characters.
This is the base class of the CharReader and UTF8CharReader classes. The CharReader classes fills in the "chunks" of data to process from a character stream (java.io.Reader). The UTF8CharReader performs its own UTF-8 transcoding to fill in the data from an InputStream.
Field Summary | |
protected int |
fCarriageReturnCounter
|
protected int |
fCharacterCounter
|
protected XMLEntityHandler.CharDataHandler |
fCharDataHandler
|
protected CharDataChunk |
fCurrentChunk
|
protected int |
fCurrentIndex
|
protected int |
fCurrentOffset
|
protected XMLEntityHandler |
fEntityHandler
|
protected XMLErrorReporter |
fErrorReporter
|
protected boolean |
fInCDSect
|
protected int |
fLength
|
protected int |
fLinefeedCounter
|
protected int |
fMostRecentChar
|
protected char[] |
fMostRecentData
|
protected boolean |
fSendCharDataAsCharArray
|
Constructor Summary | |
protected |
AbstractCharReader(XMLEntityHandler entityHandler,
XMLErrorReporter errorReporter,
boolean sendCharDataAsCharArray,
StringPool stringPool)
Subclass 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 . |
protected XMLEntityHandler.EntityReader |
changeReaders()
Change readers at end of input. |
int |
currentOffset()
Return the current offset within this reader. |
protected void |
deferException(int errorCode,
Object[] args,
int offset)
Delay reporting an error message. |
protected abstract int |
fillCurrentChunk()
Fill the current chunk the next buffer worth of data. |
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,
XMLErrorReporter errorReporter,
boolean sendCharDataAsCharArray,
int lineNumber,
int columnNumber)
|
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. |
int |
scanAttValue(char qchar,
boolean asSymbol)
Scan an attribute value. |
int |
scanCharRef(boolean hex)
Scan a character reference. |
int |
scanContent(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,
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,
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. |
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. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected CharDataChunk fCurrentChunk
protected int fCurrentIndex
protected char[] fMostRecentData
protected int fMostRecentChar
protected int fLength
protected XMLEntityHandler fEntityHandler
protected XMLErrorReporter fErrorReporter
protected boolean fSendCharDataAsCharArray
protected XMLEntityHandler.CharDataHandler fCharDataHandler
protected boolean fInCDSect
protected int fCarriageReturnCounter
protected int fLinefeedCounter
protected int fCharacterCounter
protected int fCurrentOffset
Constructor Detail |
protected AbstractCharReader(XMLEntityHandler entityHandler, XMLErrorReporter errorReporter, boolean sendCharDataAsCharArray, StringPool stringPool)
entityHandler
- The entity handler.errorReporter
- The error reporter.sendCharDataAsCharArray
- true if char data should be reported using
char arrays instead of string handles.stringPool
- The string pool.Method Detail |
protected abstract int fillCurrentChunk() throws Exception
Exception
protected void deferException(int errorCode, Object[] args, int offset)
errorCode
- the errorCode to reportargs
- an array of arguments needed to generate a good error messageoffset
- the position in the reader where the error occuredprotected XMLEntityHandler.EntityReader changeReaders() throws Exception
changeReaders
in class XMLEntityReader
Exception
public void append(XMLEntityHandler.CharBuffer charBuffer, int offset, int length)
offset
and
length
to the CharBuffer
.
charBuffer
- The CharBuffer
to append the characters to.offset
- The offset within this reader where the copy should start.length
- The length within this reader where the copy should stop.public int addString(int offset, int length)
StringPool
from the characters scanned using this
reader as described by offset
and length
.
offset
- The offset within this reader where the characters start.length
- The length within this reader where the characters end.
StringPool
handle for the string.public int addSymbol(int offset, int length)
StringPool
from the characters scanned using this
reader as described by offset
and length
.
offset
- The offset within this reader where the characters start.length
- The length within this reader where the characters end.
StringPool
handle for the symbol.public boolean lookingAtChar(char chr, boolean skipPastChar) throws Exception
XMLEntityHandler.EntityReader
ch
character.
chr
- The character to match against.skipPastChar
- If true
, we advance past the matched character.
true
if the current character is a ch
character;
false
otherwise.
Exception
public boolean lookingAtValidChar(boolean skipPastChar) throws Exception
XMLEntityHandler.EntityReader
skipPastChar
- If true
, we advance past the valid character.
true
if the current character is valid;
false
otherwise.
Exception
public boolean lookingAtSpace(boolean skipPastChar) throws Exception
XMLEntityHandler.EntityReader
skipPastChar
- If true
, we advance past the whitespace character.
true
if the current character is whitespace;
false
otherwise.
Exception
public void skipToChar(char chr) throws Exception
XMLEntityHandler.EntityReader
ch
character.
chr
- The character to search for.
Exception
public void skipPastSpaces() throws Exception
XMLEntityHandler.EntityReader
Exception
public void skipPastName(char fastcheck) throws Exception
XMLEntityHandler.EntityReader
Exception
public void skipPastNmtoken(char fastcheck) throws Exception
XMLEntityHandler.EntityReader
Exception
public boolean skippedString(char[] s) throws Exception
XMLEntityHandler.EntityReader
s
- The characters to match.
true
if the current character is valid;
false
otherwise.
Exception
public int scanInvalidChar() throws Exception
XMLEntityHandler.EntityReader
Exception
public int scanCharRef(boolean hex) throws Exception
XMLEntityHandler.EntityReader
Exception
public int scanStringLiteral() throws Exception
XMLEntityHandler.EntityReader
StringPool
handle for the string that
was scanned, or one of the following error codes:
STRINGLIT_RESULT_QUOTE_REQUIRED
STRINGLIT_RESULT_INVALID_CHAR
Exception
public int scanAttValue(char qchar, boolean asSymbol) throws Exception
XMLEntityHandler.EntityReader
qchar
- The initial quote character, either a single or double quote.
StringPool
handle for the string that
was scanned, or one of the following error codes:
ATTVALUE_RESULT_COMPLEX
ATTVALUE_RESULT_LESSTHAN
ATTVALUE_RESULT_INVALID_CHAR
Exception
public int scanEntityValue(int qchar, boolean createString) throws Exception
XMLEntityHandler.EntityReader
qchar
- The initial quote character, either a single or double quote.
StringPool
handle for the string that
was scanned, or one of the following error codes:
ENTITYVALUE_RESULT_FINISHED
ENTITYVALUE_RESULT_REFERENCE
ENTITYVALUE_RESULT_PEREF
ENTITYVALUE_RESULT_INVALID_CHAR
ENTITYVALUE_RESULT_END_OF_INPUT
Exception
public int scanName(char fastcheck) throws Exception
XMLEntityHandler.EntityReader
StringPool
.
If we find a name at the current position we will add it to the StringPool
as a symbol and will return the string pool handle for that symbol to the caller.
fastcheck
- A character that is not a legal name character that is provided as a
hint to the reader of a character likely to terminate the Name.
StringPool
handle for the name that was scanned,
or -1 if a name was not found at the current position within the input data.
Exception
public boolean scanExpectedName(char fastcheck, StringPool.CharArrayRange expectedName) throws Exception
XMLEntityHandler.EntityReader
fastcheck
- A character that is not a legal name character that is provided as a
hint to the reader of a character likely to terminate the Name.expectedName
- The characters of the name we expect.
true
if we scanned the name we expected to find; otherwise
false
if we did not.
Exception
public void scanQName(char fastcheck, QName qname) throws Exception
XMLEntityHandler.EntityReader
StringPool
.
If we find a QName at the current position we will add it to the StringPool
and will return the string pool handle of that QName to the caller.
fastcheck
- A character that is not a legal name character that is provided as a
hint to the reader of a character likely to terminate the Name.
Exception
public int scanContent(QName element) throws Exception
XMLEntityHandler.EntityReader
Exception
protected void init(XMLEntityHandler entityHandler, XMLErrorReporter errorReporter, boolean sendCharDataAsCharArray, int lineNumber, int columnNumber)
public int currentOffset()
currentOffset
in interface XMLEntityHandler.EntityReader
public int getLineNumber()
getLineNumber
in interface XMLEntityHandler.EntityReader
public int getColumnNumber()
getColumnNumber
in interface XMLEntityHandler.EntityReader
public void setInCDSect(boolean inCDSect)
setInCDSect
in interface XMLEntityHandler.EntityReader
public boolean getInCDSect()
getInCDSect
in interface XMLEntityHandler.EntityReader
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |