| java.lang.Object org.apache.xerces.utils.CharDataChunk
CharDataChunk | final public class CharDataChunk implements StringPool.StringProducer(Code) | | This class provides the character buffers used by some of the
reader classes. The instances of this class are reference
counted and placed upon a free list for reallocation when no
longer in use so that they are reclaimed faster and with less
overhead than using the garbage collector.
|
Field Summary | |
final public static int | CHUNK_MASK | final public static int | CHUNK_SHIFT Chunk size constants
The reader classes use the chunk size directly for better performance. | final public static int | CHUNK_SIZE |
Method Summary | |
public int | addString(int offset, int length) | public int | addSymbol(int offset, int length, int hashcode) | public void | append(XMLEntityHandler.CharBuffer charBuffer, int offset, int length) Append data from a CharBuffer to this chunk. | public CharDataChunk | chunkFor(int offset) Return the instance that contains the specified offset.
This method must always be invoked on an instance that
contains the specified offset, or an instance the contains
an offset greater than, i.e. | public boolean | clearPreviousChunk() Clean the previous chunk reference.
When a reader has reached a point where it knows that it will no
longer call the addString, addSymbol, or append methods with an
offset that is contained within a chunk that precedes this one,
it will call this method to clear the reference from this chunk to
the one preceding it. | public static CharDataChunk | createChunk(StringPool stringPool, CharDataChunk prev) Public constructor (factory)
If there are any free instances available, remove them from the
free list and reinitialize them. | public boolean | equalsString(int offset, int length, char[] strChars, int strOffset, int strLength) Compare a range in this chunk and a range in a character array for equality
Parameters: offset - the offset of the first character in the range in this chunk Parameters: length - the number of characters in the range to compare Parameters: strChars - the character array to compare Parameters: strOffset - the offset of the first character in the range in strChars Parameters: strLength - the number of characters to release. | public CharDataChunk | nextChunk() Get the next chunk. | public void | releaseChunk() Release the reference to this chunk held by the reader that allocated
this instance. | public void | releaseString(int offset, int length) | public void | setCharArray(char[] data) Set the character array for this instance. | public char[] | toCharArray() Get the character array of this instance.
The reader classes access the data of each instance directly.
This class only exists to manage the lifetime of the references
to each instance. | public String | toString(int offset, int length) Return a range of characters as a String .
Parameters: offset - the offset of the first character to convert. Parameters: length - the number of characters to convert. |
CHUNK_MASK | final public static int CHUNK_MASK(Code) | | |
CHUNK_SHIFT | final public static int CHUNK_SHIFT(Code) | | Chunk size constants
The reader classes use the chunk size directly for better performance.
|
CHUNK_SIZE | final public static int CHUNK_SIZE(Code) | | |
addString | public int addString(int offset, int length)(Code) | | Add a range from this chunk to the StringPool
Parameters: offset - the offset of the first character to be added Parameters: length - the number of characters to add the StringPool handle that was added. |
addSymbol | public int addSymbol(int offset, int length, int hashcode)(Code) | | Add a range from this chunk to the StringPool as a symbol
Parameters: offset - the offset of the first character to be added Parameters: length - the number of characters to add Parameters: hashcode - hashcode to match to ensure uniqueness the StringPool handle that was added. |
append | public void append(XMLEntityHandler.CharBuffer charBuffer, int offset, int length)(Code) | | Append data from a CharBuffer to this chunk.
Parameters: charBuffer - the buffer to be appended. Parameters: offset - the offset of the first character to be appended. Parameters: length - the number of characters to append. |
chunkFor | public CharDataChunk chunkFor(int offset)(Code) | | Return the instance that contains the specified offset.
This method must always be invoked on an instance that
contains the specified offset, or an instance the contains
an offset greater than, i.e. after, the instance we are
to return.
Parameters: offset - The offset to find. The instance containing the offset. |
clearPreviousChunk | public boolean clearPreviousChunk()(Code) | | Clean the previous chunk reference.
When a reader has reached a point where it knows that it will no
longer call the addString, addSymbol, or append methods with an
offset that is contained within a chunk that precedes this one,
it will call this method to clear the reference from this chunk to
the one preceding it. This allows the references between chunks
to be dropped as we go and allow the unused instances to be placed
upon the free list for reuse.
true if we cleared the previous chunk pointer;otherwise false if the pointer is already null. |
createChunk | public static CharDataChunk createChunk(StringPool stringPool, CharDataChunk prev)(Code) | | Public constructor (factory)
If there are any free instances available, remove them from the
free list and reinitialize them. If not, allocate a new one.
Parameters: stringPool - The string pool. Parameters: prev - The chunk that precedes this one, or null if this isthe first chunk. The instance reused or created. |
equalsString | public boolean equalsString(int offset, int length, char[] strChars, int strOffset, int strLength)(Code) | | Compare a range in this chunk and a range in a character array for equality
Parameters: offset - the offset of the first character in the range in this chunk Parameters: length - the number of characters in the range to compare Parameters: strChars - the character array to compare Parameters: strOffset - the offset of the first character in the range in strChars Parameters: strLength - the number of characters to release. true if the ranges are character-wise equal, otherwise false. |
nextChunk | public CharDataChunk nextChunk()(Code) | | Get the next chunk.
The instance that follows this one in the list of chunks,or null if there is no such instance. |
releaseChunk | public void releaseChunk()(Code) | | Release the reference to this chunk held by the reader that allocated
this instance. Called at end of input to release the last chunk in the
list used by the reader.
|
releaseString | public void releaseString(int offset, int length)(Code) | | Release a string from this chunk
Parameters: offset - the offset of the first character to be released Parameters: length - the number of characters to release. |
setCharArray | public void setCharArray(char[] data)(Code) | | Set the character array for this instance.
Parameters: data - The character data. |
toCharArray | public char[] toCharArray()(Code) | | Get the character array of this instance.
The reader classes access the data of each instance directly.
This class only exists to manage the lifetime of the references
to each instance. It is not intended to hide from the readers
the fact that each instance contains a buffer of character data.
The character data. |
toString | public String toString(int offset, int length)(Code) | | Return a range of characters as a String .
Parameters: offset - the offset of the first character to convert. Parameters: length - the number of characters to convert. the String |
|
|