|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.sf.saxon.om.FastStringBuffer
public final class FastStringBuffer
A simple implementation of a class similar to StringBuffer. Unlike StringBuffer it is not synchronized. It also offers the capability to remove unused space. (This class could possibly be replaced by StringBuilder in JDK 1.5, but using our own class gives more control.)
Field Summary | |
---|---|
static int |
LARGE
|
static int |
MEDIUM
|
static int |
SMALL
|
static int |
TINY
|
Constructor Summary | |
---|---|
FastStringBuffer(CharSequence cs)
Create a FastStringBuffer with initial content |
|
FastStringBuffer(int initialSize)
Create a FastStringBuffer with a given initial capacity |
Method Summary | |
---|---|
void |
append(char ch)
Append a character to the buffer |
void |
append(char[] srcArray)
Append the entire contents of a character array to the buffer |
void |
append(char[] srcArray,
int start,
int length)
Append the contents of a character array to the buffer |
void |
append(CharSequence s)
Append the contents of a general CharSequence to the buffer |
void |
append(CharSlice s)
Append the contents of a CharSlice to the buffer |
void |
append(FastStringBuffer s)
Append the contents of a FastStringBuffer to the buffer |
void |
append(String s)
Append the contents of a String to the buffer |
void |
append(StringBuffer s)
Append the contents of a StringBuffer to the buffer |
void |
appendWideChar(int ch)
Append a wide character to the buffer (as a surrogate pair if necessary) |
char |
charAt(int index)
Returns the char value at the specified index. |
CharSequence |
condense()
Remove surplus space from the array. |
static String |
diagnosticPrint(CharSequence in)
Diagnostic print of the contents of a CharSequence. |
void |
ensureCapacity(int extra)
Expand the character array if necessary to ensure capacity for appended data |
char[] |
getCharArray()
Get a char[] array containing the characters. |
void |
getChars(int srcBegin,
int srcEnd,
char[] dst,
int dstBegin)
Copies characters from this FastStringBuffer into the destination character array. |
int |
indexOf(char ch)
Get the index of the first character equal to a given value |
void |
insertCharAt(int index,
char ch)
Insert a character at a particular offset |
int |
length()
Returns the length of this character sequence. |
void |
prepend(char ch)
Insert a given character at the start of the buffer |
void |
prependRepeated(char ch,
int repeat)
Insert a given character N times at the start of the buffer |
void |
prependWideChar(int ch)
Prepend a wide character to the buffer (as a surrogate pair if necessary) |
void |
removeCharAt(int index)
Remove a character at a particular offset |
void |
setCharAt(int index,
char ch)
Set the character at a particular offset |
void |
setLength(int length)
Set the length. |
CharSequence |
subSequence(int start,
int end)
Returns a new CharSequence that is a subsequence of this sequence. |
String |
toString()
Convert contents of the FastStringBuffer to a string |
void |
write(Writer writer)
Write the value to a writer |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final int TINY
public static final int SMALL
public static final int MEDIUM
public static final int LARGE
Constructor Detail |
---|
public FastStringBuffer(int initialSize)
initialSize
- the initial capacitypublic FastStringBuffer(CharSequence cs)
cs
- the initial content. The buffer is created with just enough capacity for
this content (it will be expanded if more content is added later).Method Detail |
---|
public void append(String s)
s
- the String to be appendedpublic void append(CharSlice s)
s
- the String to be appendedpublic void append(FastStringBuffer s)
s
- the FastStringBuffer to be appendedpublic void append(StringBuffer s)
s
- the StringBuffer to be appendedpublic void append(CharSequence s)
s
- the CharSequence to be appendedpublic void append(char[] srcArray, int start, int length)
srcArray
- the array whose contents are to be addedstart
- the offset of the first character in the array to be copiedlength
- the number of characters to be copiedpublic void append(char[] srcArray)
srcArray
- the array whose contents are to be addedpublic void append(char ch)
ch
- the character to be addedpublic void appendWideChar(int ch)
ch
- the character, as a 32-bit Unicode codepointpublic void prependWideChar(int ch)
ch
- the character, as a 32-bit Unicode codepointpublic int length()
char
s in the sequence.
length
in interface CharSequence
char
s in this sequencepublic char charAt(int index)
char
value at the specified index. An index ranges from zero
to length() - 1. The first char
value of the sequence is at
index zero, the next at index one, and so on, as for array
indexing.
If the char
value specified by the index is a
surrogate, the surrogate
value is returned.
charAt
in interface CharSequence
index
- the index of the char
value to be returned
char
value
IndexOutOfBoundsException
- if the index argument is negative or not less than
length()public CharSequence subSequence(int start, int end)
CharSequence
that is a subsequence of this sequence.
The subsequence starts with the char
value at the specified index and
ends with the char
value at index end - 1. The length
(in char
s) of the
returned sequence is end - start, so if start == end
then an empty sequence is returned.
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 void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
The first character to be copied is at index srcBegin
;
the last character to be copied is at index srcEnd-1
(thus the total number of characters to be copied is
srcEnd-srcBegin
). The characters are copied into the
subarray of dst
starting at index dstBegin
and ending at index:
dstbegin + (srcEnd-srcBegin) - 1
srcBegin
- index of the first character in the string
to copy.srcEnd
- index after the last character in the string
to copy.dst
- the destination array.dstBegin
- the start offset in the destination array.
IndexOutOfBoundsException
- If any of the following
is true:
srcBegin
is negative.
srcBegin
is greater than srcEnd
srcEnd
is greater than the length of this
string
dstBegin
is negative
dstBegin+(srcEnd-srcBegin)
is larger than
dst.length
public int indexOf(char ch)
ch
- the character to search for
public String toString()
toString
in interface CharSequence
toString
in class Object
public char[] getCharArray()
public void setCharAt(int index, char ch)
index
- the index of the character to be setch
- the new character to overwrite the existing character at that location
IndexOutOfBoundsException
- if int<0 or int>=length()public void insertCharAt(int index, char ch)
index
- the index of the character to be setch
- the new character to insert at that location
IndexOutOfBoundsException
- if int<0 or int>=length()public void removeCharAt(int index)
index
- the index of the character to be set
IndexOutOfBoundsException
- if int<0 or int>=length()public void prepend(char ch)
ch
- the character to insertpublic void prependRepeated(char ch, int repeat)
ch
- the character to insertrepeat
- the number of occurrences required. Supplying 0 or a negative number is OK,
and is treated as a no-op.public void setLength(int length)
length
- the new lengthpublic void ensureCapacity(int extra)
extra
- the amount of additional capacity needed, in characterspublic CharSequence condense()
public void write(Writer writer) throws IOException
writer
- the writer to which the content is to be written
IOException
public static String diagnosticPrint(CharSequence in)
in
- the CharSequence whose contents are to be displayed.
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |