| java.lang.Object com.jcorporate.expresso.kernel.util.FastStringBuffer
FastStringBuffer | final public class FastStringBuffer implements java.io.Serializable(Code) | | A fast string buffer implements a mutable sequence of characters.
Fast string buffers are unsafe for use by multiple threads.
Every string buffer has a capacity. As long as the length of the
character sequence contained in the string buffer does not exceed
the capacity, it is not necessary to allocate a new internal
buffer array. If the internal buffer overflows, it is
automatically made larger.
There are several performance improvements that make it worthwhile to
use this class over the standard JDK StringBuffer
- Method calls are unsynchronized. Calls to synchronized methods are
automatically at least four times slower than unsynchronized methods
- Pooling. By using the pooling mechanism, you basically remove all
string allocation overhead and the fast string buffer is most likely
pre-allocated to a size you'll use
- Non-zeroing out.
StringBuffer zero's out it's character array,
even though it's not necessary. FastStringBuffer doesn't perform any memory
zeroing -
- Parameter Checks removed. FastStringBuffer doesn't perform any out of bounds
checks against incoming strings and parameters. This automatically saves overhead
at the expense of you potentially getting less descriptive error messages
- Reuse. By calling the
clear() method you can reuse a FastStringBuffer
thus saving yourself a lot of memory allocations
See Also: java.io.ByteArrayOutputStream See Also: java.lang.StringBuffer since: Expresso 4.0, Pooling Mechanism since Expreso 5.0 |
Inner Class :class FastStringBufferObjectFactory extends BasePoolableObjectFactory | |
Constructor Summary | |
public | FastStringBuffer() Constructs a string buffer with no characters in it and an
initial capacity of 16 characters. | public | FastStringBuffer(int length) Constructs a string buffer with no characters in it and an
initial capacity specified by the length argument. | public | FastStringBuffer(String str) Constructs a string buffer so that it represents the same
sequence of characters as the string argument. |
Method Summary | |
public FastStringBuffer | append(Object obj) Appends the string representation of the Object
argument to this string buffer.
The argument is converted to a string as if by the method
String.valueOf , and the characters of that
string are then appended to this string buffer.
Parameters: obj - an Object . | public FastStringBuffer | append(String str) Appends the string to this string buffer.
The characters of the String argument are appended, in
order, to the contents of this string buffer, increasing the
length of this string buffer by the length of the argument.
Parameters: str - a string. | public FastStringBuffer | append(char[] str) Appends the string representation of the char array
argument to this string buffer.
The characters of the array argument are appended, in order, to
the contents of this string buffer. | public FastStringBuffer | append(char[] str, int offset, int len) Appends the string representation of a subarray of the
char array argument to this string buffer.
Characters of the character array str , starting at
index offset , are appended, in order, to the contents
of this string buffer. | public FastStringBuffer | append(FastStringBuffer str) Appends one FastStringBuffer to another so they can be merged with no
unnecessary allocations
Parameters: str - The string buffer to append to. | public FastStringBuffer | append(boolean b) Appends the string representation of the boolean
argument to the string buffer.
The argument is converted to a string as if by the method
String.valueOf , and the characters of that
string are then appended to this string buffer.
Parameters: b - a boolean . | public FastStringBuffer | append(char c) Appends the string representation of the char
argument to this string buffer.
The argument is appended to the contents of this string buffer.
The length of this string buffer increases by 1 .
Parameters: c - a char . | public FastStringBuffer | append(int i) Appends the string representation of the int
argument to this string buffer.
The argument is converted to a string as if by the method
String.valueOf , and the characters of that
string are then appended to this string buffer.
Parameters: i - an int . | public FastStringBuffer | append(long l) Appends the string representation of the long
argument to this string buffer.
The argument is converted to a string as if by the method
String.valueOf , and the characters of that
string are then appended to this string buffer.
Parameters: l - a long . | public FastStringBuffer | append(float f) Appends the string representation of the float
argument to this string buffer.
The argument is converted to a string as if by the method
String.valueOf , and the characters of that
string are then appended to this string buffer.
Parameters: f - a float . | public FastStringBuffer | append(double d) Appends the string representation of the double
argument to this string buffer.
The argument is converted to a string as if by the method
String.valueOf , and the characters of that
string are then appended to this string buffer.
Parameters: d - a double . | public int | capacity() Returns the current capacity of the String buffer. | public char | charAt(int index) Returns the character at a specific index in this string buffer.
The first character of a string buffer is at index
0 , the next at index 1 , and so on, for
array indexing.
The index argument must be greater than or equal to
0 , and less than the length of this string buffer.
Parameters: index - the index of the desired character. | public void | clear() Clears the buffer and prepares it for reuse. | public void | ensureCapacity(int minimumCapacity) Ensures that the capacity of the buffer is at least equal to the
specified minimum.
If the current capacity of this string buffer is less than the
argument, then a new internal buffer is allocated with greater
capacity. | public void | getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) Characters are copied from this string buffer into the
destination character array dst . | public static synchronized FastStringBuffer | getInstance() Retrieve an instance of FastString buffer from the object pool. | final char[] | getValue() | public int | length() Returns the length (character count) of this string buffer. | public void | release() Sends the FastStringBuffer back to the object pool. | public FastStringBuffer | reverse() The character sequence contained in this string buffer is
replaced by the reverse of the sequence. | public void | setCharAt(int index, char ch) The character at the specified index of this string buffer is set
to ch . | public void | setLength(int newLength) Sets the length of this String buffer. | final void | setShared() | public String | toString() Converts to a string representing the data in this string buffer.
A new String object is allocated and initialized to
contain the character sequence currently represented by this
string buffer. |
FastStringBuffer | public FastStringBuffer()(Code) | | Constructs a string buffer with no characters in it and an
initial capacity of 16 characters.
|
FastStringBuffer | public FastStringBuffer(int length)(Code) | | Constructs a string buffer with no characters in it and an
initial capacity specified by the length argument.
Parameters: length - the initial capacity. throws: NegativeArraySizeException - if the length argument is less than 0 . |
FastStringBuffer | public FastStringBuffer(String str)(Code) | | Constructs a string buffer so that it represents the same
sequence of characters as the string argument. The initial
capacity of the string buffer is 16 plus the length
of the string argument.
Parameters: str - the initial contents of the buffer. |
append | public FastStringBuffer append(String str)(Code) | | Appends the string to this string buffer.
The characters of the String argument are appended, in
order, to the contents of this string buffer, increasing the
length of this string buffer by the length of the argument.
Parameters: str - a string. this string buffer. |
append | public FastStringBuffer append(char[] str)(Code) | | Appends the string representation of the char array
argument to this string buffer.
The characters of the array argument are appended, in order, to
the contents of this string buffer. The length of this string
buffer increases by the length of the argument.
Parameters: str - the characters to be appended. this string buffer. |
append | public FastStringBuffer append(char[] str, int offset, int len)(Code) | | Appends the string representation of a subarray of the
char array argument to this string buffer.
Characters of the character array str , starting at
index offset , are appended, in order, to the contents
of this string buffer. The length of this string buffer increases
by the value of len .
Parameters: str - the characters to be appended. Parameters: offset - the index of the first character to append. Parameters: len - the number of characters to append. this string buffer. |
append | public FastStringBuffer append(FastStringBuffer str)(Code) | | Appends one FastStringBuffer to another so they can be merged with no
unnecessary allocations
Parameters: str - The string buffer to append to. this string buffer |
append | public FastStringBuffer append(char c)(Code) | | Appends the string representation of the char
argument to this string buffer.
The argument is appended to the contents of this string buffer.
The length of this string buffer increases by 1 .
Parameters: c - a char . this string buffer. |
capacity | public int capacity()(Code) | | Returns the current capacity of the String buffer. The capacity
is the amount of storage available for newly inserted
characters; beyond which an allocation will occur.
the current capacity of this string buffer. |
charAt | public char charAt(int index)(Code) | | Returns the character at a specific index in this string buffer.
The first character of a string buffer is at index
0 , the next at index 1 , and so on, for
array indexing.
The index argument must be greater than or equal to
0 , and less than the length of this string buffer.
Parameters: index - the index of the desired character. the character at the specified index of this string buffer. See Also: java.lang.StringBuffer.length |
clear | public void clear()(Code) | | Clears the buffer and prepares it for reuse.
|
ensureCapacity | public void ensureCapacity(int minimumCapacity)(Code) | | Ensures that the capacity of the buffer is at least equal to the
specified minimum.
If the current capacity of this string buffer is less than the
argument, then a new internal buffer is allocated with greater
capacity. The new capacity is the larger of:
- The
minimumCapacity argument.
- Twice the old capacity, plus
2 .
If the minimumCapacity argument is nonpositive, this
method takes no action and simply returns.
Parameters: minimumCapacity - the minimum desired capacity. |
getChars | public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)(Code) | | Characters are copied from this string buffer into the
destination character array dst . The first character to
be copied is at index srcBegin ; the last character to
be copied is at index srcEnd-1. 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
Parameters: srcBegin - start copying at this offset in the string buffer. Parameters: srcEnd - stop copying at this offset in the string buffer. Parameters: dst - the array to copy the data into. Parameters: dstBegin - offset into dst . throws: StringIndexOutOfBoundsException - if there is an invalidindex into the buffer. |
getInstance | public static synchronized FastStringBuffer getInstance()(Code) | | Retrieve an instance of FastString buffer from the object pool. The object
is often preallocated to a 1024 byte size from a pool of objects. This
can drastically reduce small memory allocations and increate performance.
an instantiaged FastStringBuffer instance. |
getValue | final char[] getValue()(Code) | | |
length | public int length()(Code) | | Returns the length (character count) of this string buffer.
the number of characters in this string buffer. |
release | public void release()(Code) | | Sends the FastStringBuffer back to the object pool. Use this if you have
obtained the FastStringBuffer instance through FastStringBuffer.getInstance()
|
reverse | public FastStringBuffer reverse()(Code) | | The character sequence contained in this string buffer is
replaced by the reverse of the sequence.
this string buffer. |
setCharAt | public void setCharAt(int index, char ch)(Code) | | The character at the specified index of this string buffer is set
to ch .
The offset argument must be greater than or equal to
0 , and less than the length of this string buffer.
Parameters: index - the index of the character to modify. Parameters: ch - the new character. throws: StringIndexOutOfBoundsException - if the index is invalid. See Also: java.lang.StringBuffer.length |
setLength | public void setLength(int newLength)(Code) | | Sets the length of this String buffer.
If the newLength argument is less than the current
length of the string buffer, the string buffer is truncated to
contain exactly the number of characters given by the
newLength argument.
If the newLength argument is greater than or equal
to the current length, sufficient null characters
('\u0000' ) are appended to the string buffer so that
length becomes the newLength argument.
The newLength argument must be greater than or equal
to 0 .
Parameters: newLength - the new length of the buffer. See Also: java.lang.StringBuffer.length |
setShared | final void setShared()(Code) | | |
toString | public String toString()(Code) | | Converts to a string representing the data in this string buffer.
A new String object is allocated and initialized to
contain the character sequence currently represented by this
string buffer. This String is then returned. Subsequent
changes to the string buffer do not affect the contents of the
String .
a string representation of the string buffer. |
|
|