Package one.microstream.chars
Class VarString
- java.lang.Object
-
- one.microstream.chars.VarString
-
- All Implemented Interfaces:
Serializable,Appendable,CharSequence
public final class VarString extends Object implements CharSequence, Appendable, Serializable
Faster implementation of a StringBuilder with richer functionality. Note that this class is NOT synchronized and only meant for single-threaded or thread-safe (i.e. read only or explicitly synchronized) use.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceVarString.AppendableImplementors of this interface handle appending their specific string representation directly.
This is useful for preventing the instantiation and copying of potentially large temporary strings which can have unnecessary and devastatingly negative effects on performance.
-
Constructor Summary
Constructors Constructor Description VarString()
-
Method Summary
Modifier and Type Method Description VarStringadd(boolean value)VarStringadd(byte value)VarStringadd(char c)VarStringadd(char[] chars)voidadd(char[] chars, int offset, int length)VarStringadd(char c1, char c2)VarStringadd(char c1, char c2, char c3)VarStringadd(double value)VarStringadd(float value)VarStringadd(int value)VarStringadd(long value)VarStringadd(short value)<E> VarStringadd(E element, BiConsumer<VarString,? super E> joiner)VarStringadd(Character c)VarStringadd(CharSequence cs)VarStringadd(Object o)VarStringadd(String s)VarStringadd(VarString vs)<E> VarStringaddAll(E[] elements, BiConsumer<VarString,? super E> joiner)<E> VarStringaddAll(Iterable<? extends E> elements, BiConsumer<VarString,? super E> joiner)VarStringaddChars(char... chars)VarStringaddCharSequences(CharSequence... csqs)VarStringaddFalse()VarStringaddHexDec(byte value)VarStringaddHexDec(byte... bytes)VarStringaddMapped(boolean value, String trueValue, String falseValue)VarStringaddMapped(Boolean value, String trueValue, String falseValue)static voidaddNonNull(VarString vs, Object object)VarStringaddNull()VarStringaddObjects(Object... objects)VarStringaddTrue()VarStringappend(char c)VarStringappend(CharSequence csq)VarStringappend(CharSequence csq, int start, int end)VarStringappend(VarString.Appendable appendable)VarStringapply(Consumer<? super VarString> procedure)VarStringblank()VarStringblank(int amount)charcharAt(int index)VarStringclear()Fills this instance's char storage completely with zeros and sets its size to 0.VarStringconsolidate()booleancontains(char c)booleancontains(char[] chars)booleancontains(String s)booleancontains(VarString vc)VarStringcopyTo(char[] target, int targetOffset)VarStringcopyTo(int offset, char[] target, int targetOffset, int length)intcount(char c)intcount(char[] chars)intcount(String s)intcount(VarString vc)VarStringcr()VarStringcr(int amount)VarStringcrlf()VarStringdeleteAt(int index)VarStringdeleteLast()VarStringdeleteLast(int n)byte[]encode()Alias forthis.encodeBy(XChars.standardCharset());for general purpose encoding, with the "standard" being UTF-8 (XChars.utf8()), because any other charset is nonsense for a general case.byte[]encodeBy(Charset charset)booleanendsWith(char c)booleanendsWith(char[] chars)booleanendsWith(String string)voidensureCapacity(int minimumCapacity)voidensureFreeCapacity(int minimumFreeCapacity)booleanequalsAt(int index, char[] chars, int charsOffset, int charsLength)charfirst()intindexOf(char c)intindexOf(char[] chars)intindexOf(char[] chars, int offset)intindexOf(char c, int offset)intindexOf(String s)intindexOf(String s, int offset)intindexOf(VarString vc)intindexOf(VarString vc, int offset)booleanisEmpty()voiditerate(_charProcedure iterator)charlast()intlastIndexOf(char c)intlastIndexOf(char c, int offset)intlength()VarStringlf()VarStringlf(int amount)VarStringlist(String separator, boolean... listElements)VarStringlist(String separator, byte... listElements)VarStringlist(String separator, char... listElements)VarStringlist(String separator, double... listElements)VarStringlist(String separator, float... listElements)VarStringlist(String separator, int... listElements)VarStringlist(String separator, long... listElements)VarStringlist(String separator, short... listElements)VarStringlist(String separator, Object... listElements)VarStringlist(String separator, String... listElements)VarStringlist(String separator, VarString... listElements)VarStringlist(String separator, VarString.Appendable... listElements)VarStringlist(String separator, XGettingCollection<?> listElements)static VarStringNew()static VarStringNew(int initialMinimumCapacity)static VarStringNew(String s)VarStringpadLeft(String s, int totalLength, char paddingChar)VarStringpadRight(String s, int totalLength, char paddingChar)VarStringrepeat(int amount, char c)VarStringrepeat(int amount, char[] chars)VarStringrepeat(int amount, String string)Stringreplace(CharSequence target, CharSequence replacement)VarStringreplaceAll(char sample, char replacement)VarStringreplaceAll(char sample, char replacement, int offset)VarStringreplaceAll(char sample, char replacement, int offset, int length)StringreplaceAll(String regex, String replacement)VarStringreplaceFirst(char sample, char replacement)VarStringreplaceFirst(char sample, char replacement, int offset)VarStringreplaceFirst(char sample, char replacement, int offset, int length)StringreplaceFirst(String regex, String replacement)VarStringreset()Simply resets this instance by setting its size to 0 while leaving the actual char storage untouched.VarStringreverse()VarStringset(int index, char c)VarStringsetChars(int index, char... c)VarStringsetLast(char c)VarStringshrinkTo(int n)String[]split(String regex)String[]split(String regex, int limit)VarStringsubsequence(int beginIndex, int endIndex)VarStringsubSequence(int start, int end)Stringsubstring(int beginIndex, int endIndex)VarStringsurrogateCharReverse()Deprecated.not implemented yet.VarStringtab()VarStringtab(int amount)char[]toArray()StringtoString()VarStringtrim()VarStringtruncateTo(int newLength)voidvalidateIndex(int index)voidvalidateRange(int offset, int length)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.CharSequence
chars, codePoints
-
-
-
-
Method Detail
-
New
public static final VarString New()
-
New
public static final VarString New(int initialMinimumCapacity)
-
add
public final void add(char[] chars, int offset, int length)
-
validateIndex
public final void validateIndex(int index)
-
validateRange
public final void validateRange(int offset, int length)
-
last
public final char last()
-
first
public final char first()
-
add
public final VarString add(char c)
-
add
public final VarString add(char c1, char c2)
-
add
public final VarString add(char c1, char c2, char c3)
-
add
public final VarString add(byte value)
-
add
public final VarString add(boolean value)
-
add
public final VarString add(short value)
-
add
public final VarString add(int value)
-
add
public final VarString add(float value)
-
add
public final VarString add(long value)
-
add
public final VarString add(double value)
-
add
public final VarString add(char[] chars)
-
add
public final VarString add(CharSequence cs)
-
addHexDec
public final VarString addHexDec(byte value)
-
addHexDec
public final VarString addHexDec(byte... bytes)
-
ensureFreeCapacity
public final void ensureFreeCapacity(int minimumFreeCapacity)
-
ensureCapacity
public final void ensureCapacity(int minimumCapacity)
-
addChars
public final VarString addChars(char... chars)
-
addCharSequences
public final VarString addCharSequences(CharSequence... csqs)
-
addNull
public final VarString addNull()
-
addTrue
public final VarString addTrue()
-
addFalse
public final VarString addFalse()
-
append
public final VarString append(VarString.Appendable appendable)
-
add
public final <E> VarString add(E element, BiConsumer<VarString,? super E> joiner)
-
addAll
public final <E> VarString addAll(E[] elements, BiConsumer<VarString,? super E> joiner)
-
addAll
public final <E> VarString addAll(Iterable<? extends E> elements, BiConsumer<VarString,? super E> joiner)
-
set
public final VarString set(int index, char c)
-
setChars
public final VarString setChars(int index, char... c)
-
setLast
public final VarString setLast(char c)
-
reverse
public final VarString reverse()
-
surrogateCharReverse
@Deprecated public final VarString surrogateCharReverse()
Deprecated.not implemented yet. Currently just callsreverse().Not implemented yet.
-
indexOf
public final int indexOf(char c)
-
indexOf
public final int indexOf(char c, int offset)
-
indexOf
public final int indexOf(char[] chars)
-
indexOf
public final int indexOf(char[] chars, int offset)
-
indexOf
public final int indexOf(String s)
-
indexOf
public final int indexOf(String s, int offset)
-
indexOf
public final int indexOf(VarString vc)
-
indexOf
public final int indexOf(VarString vc, int offset)
-
contains
public final boolean contains(char c)
-
contains
public final boolean contains(char[] chars)
-
contains
public final boolean contains(String s)
-
contains
public final boolean contains(VarString vc)
-
lastIndexOf
public final int lastIndexOf(char c)
-
lastIndexOf
public final int lastIndexOf(char c, int offset)
-
count
public final int count(char c)
-
count
public final int count(char[] chars)
-
count
public final int count(String s)
-
count
public final int count(VarString vc)
-
deleteAt
public final VarString deleteAt(int index)
-
deleteLast
public final VarString deleteLast()
-
deleteLast
public final VarString deleteLast(int n)
-
shrinkTo
public final VarString shrinkTo(int n)
-
toArray
public final char[] toArray()
-
copyTo
public final VarString copyTo(char[] target, int targetOffset)
-
copyTo
public final VarString copyTo(int offset, char[] target, int targetOffset, int length)
-
isEmpty
public final boolean isEmpty()
-
consolidate
public final VarString consolidate()
-
trim
public final VarString trim()
-
truncateTo
public final VarString truncateTo(int newLength)
-
subsequence
public final VarString subsequence(int beginIndex, int endIndex)
-
substring
public final String substring(int beginIndex, int endIndex)
-
iterate
public final void iterate(_charProcedure iterator)
-
list
public final VarString list(String separator, XGettingCollection<?> listElements)
-
list
public final VarString list(String separator, VarString.Appendable... listElements)
-
clear
public final VarString clear()
Fills this instance's char storage completely with zeros and sets its size to 0. Only preferable toreset()for in-memory security reasons.- Returns:
- this
-
reset
public final VarString reset()
Simply resets this instance by setting its size to 0 while leaving the actual char storage untouched.- Returns:
- this
-
blank
public final VarString blank()
-
blank
public final VarString blank(int amount)
-
tab
public final VarString tab()
-
tab
public final VarString tab(int amount)
-
cr
public final VarString cr()
-
cr
public final VarString cr(int amount)
-
lf
public final VarString lf()
-
lf
public final VarString lf(int amount)
-
crlf
public final VarString crlf()
-
repeat
public final VarString repeat(int amount, char c)
-
repeat
public final VarString repeat(int amount, char[] chars)
-
equalsAt
public final boolean equalsAt(int index, char[] chars, int charsOffset, int charsLength)
-
endsWith
public final boolean endsWith(char c)
-
endsWith
public final boolean endsWith(char[] chars)
-
endsWith
public final boolean endsWith(String string)
-
replaceFirst
public final VarString replaceFirst(char sample, char replacement)
-
replaceFirst
public final VarString replaceFirst(char sample, char replacement, int offset)
-
replaceFirst
public final VarString replaceFirst(char sample, char replacement, int offset, int length)
-
replaceAll
public final VarString replaceAll(char sample, char replacement)
-
replaceAll
public final VarString replaceAll(char sample, char replacement, int offset)
-
replaceAll
public final VarString replaceAll(char sample, char replacement, int offset, int length)
-
replace
public final String replace(CharSequence target, CharSequence replacement)
-
encode
public final byte[] encode()
Alias forthis.encodeBy(XChars.standardCharset());for general purpose encoding, with the "standard" being UTF-8 (XChars.utf8()), because any other charset is nonsense for a general case.- Returns:
- the character data of this instance as an UTF-8 byte array.
- See Also:
encodeBy(Charset)
-
encodeBy
public final byte[] encodeBy(Charset charset)
-
charAt
public final char charAt(int index)
- Specified by:
charAtin interfaceCharSequence
-
length
public final int length()
- Specified by:
lengthin interfaceCharSequence
-
subSequence
public final VarString subSequence(int start, int end)
- Specified by:
subSequencein interfaceCharSequence
-
append
public final VarString append(CharSequence csq)
- Specified by:
appendin interfaceAppendable
-
append
public final VarString append(char c)
- Specified by:
appendin interfaceAppendable
-
append
public final VarString append(CharSequence csq, int start, int end)
- Specified by:
appendin interfaceAppendable
-
toString
public final String toString()
- Specified by:
toStringin interfaceCharSequence- Overrides:
toStringin classObject
-
-