|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.sf.saxon.tree.tiny.CharSlice
public final class CharSlice
This is an implementation of the JDK 1.4 CharSequence interface: it implements a CharSequence as a view of an array. The implementation relies on the array being immutable: as a minimum, the caller is required to ensure that the array contents will not change so long as the CharSlice remains in existence. This class should be more efficient than String because it avoids copying the characters unnecessarily. The methods in the class don't check their arguments. Incorrect arguments will generally result in exceptions from lower-level classes.
Constructor Summary | |
---|---|
CharSlice(char[] array)
Create a CharSlice that maps to the whole of a char[] array |
|
CharSlice(char[] array,
int start,
int length)
Create a CharSlice that maps to a section of a char[] array |
Method Summary | |
---|---|
char |
charAt(int index)
Returns the character at the specified index. |
void |
copyTo(char[] destination,
int destOffset)
Append the contents to another array at a given offset. |
boolean |
equals(Object other)
Compare equality |
void |
getChars(int start,
int end,
char[] destination,
int destOffset)
Append the contents to another array at a given offset. |
int |
hashCode()
Generate a hash code |
int |
indexOf(char c)
Get the index of a specific character in the sequence. |
int |
length()
Returns the length of this character sequence. |
void |
setLength(int length)
Set the length of this character sequence, without changing the array and start offset to which it is bound |
CharSequence |
subSequence(int start,
int end)
Returns a new character sequence that is a subsequence of this sequence. |
String |
substring(int start,
int end)
Returns a new character sequence that is a subsequence of this sequence. |
String |
toString()
Convert to a string |
void |
write(Writer writer)
Write the value to a writer |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public CharSlice(char[] array)
array
- the char[] arraypublic CharSlice(char[] array, int start, int length)
array
- the char[] arraystart
- position of the first character to be includedlength
- number of characters to be includedMethod Detail |
---|
public int length()
length
in interface CharSequence
public void setLength(int length)
length
- the new length of the CharSlice (which must be less than the existing length,
though this is not enforced)public char charAt(int index)
charAt
in interface CharSequence
index
- the index of the character to be returned
IndexOutOfBoundsException
- if the index argument is negative or not less than
length()public CharSequence subSequence(int start, int end)
subSequence
in interface CharSequence
start
- the start index, inclusiveend
- the end index, exclusive
IndexOutOfBoundsException
- if start or end are negative,
if end is greater than length(),
or if start is greater than endpublic String toString()
toString
in interface CharSequence
toString
in class Object
public boolean equals(Object other)
equals
in class Object
public int hashCode()
hashCode
in class Object
public int indexOf(char c)
String.indexOf(int)
c
- the character to be found
public String substring(int start, int end)
start
- position of the first character to be included (relative to the
start of the CharSlice, not the underlying array)end
- position of the first character not to be included (relative
to the start of the CharSlice)
public void copyTo(char[] destination, int destOffset)
destination
- the array to which the characters will be copieddestOffset
- the offset in the target array where the copy will startpublic void getChars(int start, int end, char[] destination, int destOffset)
start
- offset of first character to be copiedend
- offset of the first character that is not copieddestination
- the array to which the characters will be copieddestOffset
- the offset in the target array where the copy will startpublic void write(Writer writer) throws IOException
writer
- the writer to be written to
IOException
- if writing fails
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |