Class DefaultCharAppender
- All Implemented Interfaces:
CharAppender
,CharSequence
- Direct Known Subclasses:
ExpandingCharAppender
CharAppender
interface-
Field Summary
FieldsModifier and TypeFieldDescription(package private) char[]
(package private) final char[]
(package private) final String
(package private) int
(package private) int
(package private) final int
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultCharAppender
(int maxLength, String emptyValue, int whitespaceRangeStart) Creates a DefaultCharAppender with a maximum limit of characters to append and the default value to return when no characters have been accumulated. -
Method Summary
Modifier and TypeMethodDescriptionvoid
append
(char ch) Appends the given character.final void
append
(char[] ch) Appends characters from an input arrayvoid
append
(char[] ch, int from, int length) Appends characters from an input arrayfinal void
append
(int ch) Appends the given codepoint.final void
append
(int[] ch) Appends codepoints from an input arrayvoid
append
(DefaultCharAppender appender) Appends the contents of another DefaultCharAppender, discarding any of its trailing whitespace charactersfinal void
Appends theString
representation of a given object.final void
Appends characters from an inputString
void
Appends the contents of a String to this appendervoid
appendIgnoringPadding
(char ch, char padding) Appends the given character and marks it as ignored if it is a padding character (the definition of a padding character is implementation dependent.)void
appendIgnoringWhitespace
(char ch) Appends the given character and marks it as ignored if it is a whitespace (ch <= ' '
)void
appendIgnoringWhitespaceAndPadding
(char ch, char padding) Appends the given character and marks it as ignored if it is a whitespace (ch <= ' '
) or a padding character (the definition of a padding character is implementation dependent.)char
appendUntil
(char ch, CharInput input, char stop) Appends characters from the input, until a stop character is foundchar
appendUntil
(char ch, CharInput input, char stop1, char stop2) Appends characters from the input, until a stop character is foundchar
appendUntil
(char ch, CharInput input, char stop1, char stop2, char stop3) Appends characters from the input, until a stop character is foundfinal char
charAt
(int i) void
delete
(int count) Deletes a given number of characters from the end of the appended content.void
fill
(char ch, int length) Adds a sequence of repeated characters to the input.Returns the accumulated value as a String, discarding any trailing whitespace characters identified when usingappendIgnoringWhitespace(char)
,appendIgnoringPadding(char, char)
orappendIgnoringWhitespaceAndPadding(char, char)
final char[]
getChars()
Returns the internal character array.char[]
Returns the accumulated characters, discarding any trailing whitespace characters identified when usingappendIgnoringWhitespace(char)
,appendIgnoringPadding(char, char)
orappendIgnoringWhitespaceAndPadding(char, char)
final void
ignore
(int count) Ignores the given number of characters at the end of the appended content, effectively marking these as whitespace.int
indexOf
(char[] charSequence, int fromIndex) Returns first the position of a given character sequenceint
indexOf
(char ch, int from) Returns first the position of a given characterint
indexOf
(CharSequence charSequence, int fromIndex) Returns first the position of a given character sequenceint
indexOfAny
(char[] chars, int from) Returns the first position of any given characterboolean
isEmpty()
Indicates whether this appender represents an emptyString
.int
lastIndexOf
(char ch) Returns the last index of a given character in the current appended (characters that have been marked as whitespace will be ignored)final int
length()
Returns the current accumulated value length (the sum of all appended characters - whitespaceCount).void
prepend
(char ch) Prepends the current accumulated value with a charactervoid
prepend
(char[] chars) Prepends the current accumulated value a sequence of charactersvoid
prepend
(char ch1, char ch2) Prepends the current accumulated value with a couple of charactersvoid
remove
(int from, int length) Removes a section from the appended contentvoid
reset()
Clears the accumulated value and the whitespace count.final void
Resets the number of whitespaces accumulated after the last non-whitespace character.final String
subSequence
(int from, int to) substring
(int from, int length) Returns a section of the appended contentfinal String
toString()
Returns the accumulated value as a String, discarding any trailing whitespace characters identified when usingappendIgnoringWhitespace(char)
,appendIgnoringPadding(char, char)
orappendIgnoringWhitespaceAndPadding(char, char)
final void
Updates the internal whitespace count of this appender to trim trailing whitespaces.final int
Returns the current number of whitespaces accumulated after the last non-whitespace character.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
-
Field Details
-
whitespaceRangeStart
final int whitespaceRangeStart -
emptyChars
final char[] emptyChars -
chars
char[] chars -
index
int index -
emptyValue
-
whitespaceCount
int whitespaceCount
-
-
Constructor Details
-
DefaultCharAppender
Creates a DefaultCharAppender with a maximum limit of characters to append and the default value to return when no characters have been accumulated. The padding character is defaulted to a whitespace character ' '.- Parameters:
maxLength
- maximum limit of characters to appendemptyValue
- default value to return when no characters have been accumulatedwhitespaceRangeStart
- starting range of characters considered to be whitespace.
-
-
Method Details
-
appendIgnoringPadding
public void appendIgnoringPadding(char ch, char padding) Description copied from interface:CharAppender
Appends the given character and marks it as ignored if it is a padding character (the definition of a padding character is implementation dependent.)- Specified by:
appendIgnoringPadding
in interfaceCharAppender
- Parameters:
ch
- character to appendpadding
- the padding character to ignore
-
appendIgnoringWhitespaceAndPadding
public void appendIgnoringWhitespaceAndPadding(char ch, char padding) Description copied from interface:CharAppender
Appends the given character and marks it as ignored if it is a whitespace (ch <= ' '
) or a padding character (the definition of a padding character is implementation dependent.)- Specified by:
appendIgnoringWhitespaceAndPadding
in interfaceCharAppender
- Parameters:
ch
- character to appendpadding
- the padding character to ignore
-
appendIgnoringWhitespace
public void appendIgnoringWhitespace(char ch) Description copied from interface:CharAppender
Appends the given character and marks it as ignored if it is a whitespace (ch <= ' '
)- Specified by:
appendIgnoringWhitespace
in interfaceCharAppender
- Parameters:
ch
- character to append
-
indexOf
public int indexOf(char ch, int from) Description copied from interface:CharAppender
Returns first the position of a given character- Specified by:
indexOf
in interfaceCharAppender
- Parameters:
ch
- the character to look forfrom
- the starting index from where the search will begin.- Returns:
- the position of the given character in the appended content,
-1
if not found
-
indexOfAny
public int indexOfAny(char[] chars, int from) Description copied from interface:CharAppender
Returns the first position of any given character- Specified by:
indexOfAny
in interfaceCharAppender
- Parameters:
chars
- the characters to look forfrom
- the starting index from where the search will begin.- Returns:
- the position any one of the given characters in the appended content,
-1
if none found
-
substring
Description copied from interface:CharAppender
Returns a section of the appended content- Specified by:
substring
in interfaceCharAppender
- Parameters:
from
- the starting position in the bufferlength
- the number of characters to accumulate from the given start position- Returns:
- a
String
with the section of characters accumulated by this appender.
-
remove
public void remove(int from, int length) Description copied from interface:CharAppender
Removes a section from the appended content- Specified by:
remove
in interfaceCharAppender
- Parameters:
from
- the starting position in the buffer (inclusive)length
- the number of characters to accumulate from the given start position
-
append
public void append(char ch) Description copied from interface:CharAppender
Appends the given character.- Specified by:
append
in interfaceCharAppender
- Parameters:
ch
- the character to append
-
append
Description copied from interface:CharAppender
Appends theString
representation of a given object.- Specified by:
append
in interfaceCharAppender
- Parameters:
o
- the object whoseString
representation will be appended.
-
append
public final void append(int ch) Description copied from interface:CharAppender
Appends the given codepoint.- Specified by:
append
in interfaceCharAppender
- Parameters:
ch
- the codepoint to append
-
append
public final void append(int[] ch) Description copied from interface:CharAppender
Appends codepoints from an input array- Specified by:
append
in interfaceCharAppender
- Parameters:
ch
- the codepoint array
-
getAndReset
Returns the accumulated value as a String, discarding any trailing whitespace characters identified when usingappendIgnoringWhitespace(char)
,appendIgnoringPadding(char, char)
orappendIgnoringWhitespaceAndPadding(char, char)
The internal accumulated value is discarded after invoking this method (as in
reset()
)If the accumulated value is empty (i.e. no characters were appended, or all appended characters where ignored as whitespace or padding), then the return value will be
emptyValue
attribute defined in the constructor of this class.- Specified by:
getAndReset
in interfaceCharAppender
- Returns:
- a String containing the accumulated characters without the trailing white spaces. Or the
emptyValue
defined in the constructor of this class.
-
toString
Returns the accumulated value as a String, discarding any trailing whitespace characters identified when usingappendIgnoringWhitespace(char)
,appendIgnoringPadding(char, char)
orappendIgnoringWhitespaceAndPadding(char, char)
Does not discard the accumulated value.
If the accumulated value is empty (i.e. no characters were appended, or all appended characters where ignored as whitespace or padding), then the return value will be
emptyValue
attribute defined in the constructor of this class.- Specified by:
toString
in interfaceCharSequence
- Overrides:
toString
in classObject
- Returns:
- a String containing the accumulated characters without the trailing white spaces. Or the
emptyValue
defined in the constructor of this class.
-
length
public final int length()Description copied from interface:CharAppender
Returns the current accumulated value length (the sum of all appended characters - whitespaceCount).- Specified by:
length
in interfaceCharAppender
- Specified by:
length
in interfaceCharSequence
- Returns:
- the current accumulated value length (the sum of all appended characters - whitespaceCount).
-
getCharsAndReset
public char[] getCharsAndReset()Returns the accumulated characters, discarding any trailing whitespace characters identified when usingappendIgnoringWhitespace(char)
,appendIgnoringPadding(char, char)
orappendIgnoringWhitespaceAndPadding(char, char)
The internal accumulated value is discarded after invoking this method (as in
reset()
)If the accumulated value is empty (i.e. no characters were appended, or all appended characters where ignored as whitespace or padding), then the return value will be character sequence of the
emptyValue
attribute defined in the constructor of this class.- Specified by:
getCharsAndReset
in interfaceCharAppender
- Returns:
- a character array containing the accumulated characters without the trailing white spaces. Or the characters of the
emptyValue
defined in the constructor of this class.
-
whitespaceCount
public final int whitespaceCount()Description copied from interface:CharAppender
Returns the current number of whitespaces accumulated after the last non-whitespace character.This is the number of whitespaces accumulated using
CharAppender.appendIgnoringWhitespace(char)
,CharAppender.appendIgnoringPadding(char, char)
orCharAppender.appendIgnoringWhitespaceAndPadding(char, char)
- Specified by:
whitespaceCount
in interfaceCharAppender
- Returns:
- the number of whitespaces accumulated using
CharAppender.appendIgnoringWhitespace(char)
,CharAppender.appendIgnoringPadding(char, char)
orCharAppender.appendIgnoringWhitespaceAndPadding(char, char)
-
reset
public void reset()Description copied from interface:CharAppender
Clears the accumulated value and the whitespace count.- Specified by:
reset
in interfaceCharAppender
-
append
Appends the contents of another DefaultCharAppender, discarding any of its trailing whitespace characters- Parameters:
appender
- The DefaultCharAppender instance got get contents from.
-
resetWhitespaceCount
public final void resetWhitespaceCount()Description copied from interface:CharAppender
Resets the number of whitespaces accumulated after the last non-whitespace character.This is the number of whitespaces accumulated using
CharAppender.appendIgnoringWhitespace(char)
,CharAppender.appendIgnoringPadding(char, char)
orCharAppender.appendIgnoringWhitespaceAndPadding(char, char)
A subsequent call to
CharAppender.whitespaceCount()
should return 0.- Specified by:
resetWhitespaceCount
in interfaceCharAppender
-
getChars
public final char[] getChars()Description copied from interface:CharAppender
Returns the internal character array.- Specified by:
getChars
in interfaceCharAppender
- Returns:
- the internal character array.
-
fill
public void fill(char ch, int length) Description copied from interface:CharAppender
Adds a sequence of repeated characters to the input.- Specified by:
fill
in interfaceCharAppender
- Parameters:
ch
- the character to appendlength
- the number of times the given character should be appended.
-
prepend
public void prepend(char ch) Prepends the current accumulated value with a character- Specified by:
prepend
in interfaceCharAppender
- Parameters:
ch
- the character to prepend in front of the current accumulated value.
-
prepend
public void prepend(char ch1, char ch2) Description copied from interface:CharAppender
Prepends the current accumulated value with a couple of characters- Specified by:
prepend
in interfaceCharAppender
- Parameters:
ch1
- the first character to prepend in front of the current accumulated value.ch2
- the second character to prepend in front of the current accumulated value.
-
prepend
public void prepend(char[] chars) Description copied from interface:CharAppender
Prepends the current accumulated value a sequence of characters- Specified by:
prepend
in interfaceCharAppender
- Parameters:
chars
- the character sequence to prepend in front of the current accumulated value.
-
updateWhitespace
public final void updateWhitespace()Updates the internal whitespace count of this appender to trim trailing whitespaces.- Specified by:
updateWhitespace
in interfaceCharAppender
-
appendUntil
Description copied from interface:CharAppender
Appends characters from the input, until a stop character is found- Specified by:
appendUntil
in interfaceCharAppender
- Parameters:
ch
- the first character of the input to be appended.input
- the input whose the following characters will be appendedstop
- the stop character- Returns:
- the stop character found on the input.
-
appendUntil
Description copied from interface:CharAppender
Appends characters from the input, until a stop character is found- Specified by:
appendUntil
in interfaceCharAppender
- Parameters:
ch
- the first character of the input to be appended.input
- the input whose the following characters will be appendedstop1
- the first stop characterstop2
- the second stop character- Returns:
- one of the stop characters found on the input.
-
appendUntil
Description copied from interface:CharAppender
Appends characters from the input, until a stop character is found- Specified by:
appendUntil
in interfaceCharAppender
- Parameters:
ch
- the first character of the input to be appended.input
- the input whose the following characters will be appendedstop1
- the first stop characterstop2
- the second stop characterstop3
- the third stop character- Returns:
- one of the stop characters found on the input.
-
append
public void append(char[] ch, int from, int length) Description copied from interface:CharAppender
Appends characters from an input array- Specified by:
append
in interfaceCharAppender
- Parameters:
ch
- the character arrayfrom
- the position of the first character in the array to be appendedlength
- the number of characters to be appended from the given posiion.
-
append
public final void append(char[] ch) Description copied from interface:CharAppender
Appends characters from an input array- Specified by:
append
in interfaceCharAppender
- Parameters:
ch
- the character array
-
append
Description copied from interface:CharAppender
Appends the contents of a String to this appender- Specified by:
append
in interfaceCharAppender
- Parameters:
string
- the string whose characters will be appended.from
- the index of the first character to appendto
- the index of the last character to append
-
append
Description copied from interface:CharAppender
Appends characters from an inputString
- Specified by:
append
in interfaceCharAppender
- Parameters:
string
- the input String
-
charAt
public final char charAt(int i) - Specified by:
charAt
in interfaceCharSequence
-
subSequence
- Specified by:
subSequence
in interfaceCharSequence
-
ignore
public final void ignore(int count) Description copied from interface:CharAppender
Ignores the given number of characters at the end of the appended content, effectively marking these as whitespace. InvokingCharAppender.resetWhitespaceCount()
orCharAppender.updateWhitespace()
will undo this effect.- Specified by:
ignore
in interfaceCharAppender
- Parameters:
count
- the number of characters to ignore
-
delete
public void delete(int count) Description copied from interface:CharAppender
Deletes a given number of characters from the end of the appended content. Will reset the internal whitespace count if any. InvokeCharAppender.updateWhitespace()
to recalculate the number of trailing whitespaces in the appended content.- Specified by:
delete
in interfaceCharAppender
- Parameters:
count
- the number of characters to delete.
-
indexOf
public int indexOf(char[] charSequence, int fromIndex) Description copied from interface:CharAppender
Returns first the position of a given character sequence- Specified by:
indexOf
in interfaceCharAppender
- Parameters:
charSequence
- the character sequence to look forfromIndex
- the starting index from where the search will begin.- Returns:
- the position of the given character sequence in the appended content,
-1
if not found
-
indexOf
Description copied from interface:CharAppender
Returns first the position of a given character sequence- Specified by:
indexOf
in interfaceCharAppender
- Parameters:
charSequence
- the character sequence to look forfromIndex
- the starting index from where the search will begin.- Returns:
- the position of the given character sequence in the appended content,
-1
if not found
-
isEmpty
public boolean isEmpty()Description copied from interface:CharAppender
Indicates whether this appender represents an emptyString
.- Specified by:
isEmpty
in interfaceCharAppender
- Specified by:
isEmpty
in interfaceCharSequence
- Returns:
- true calling
CharAppender.getAndReset()
would returnnull
, otherwisefalse
.
-
lastIndexOf
public int lastIndexOf(char ch) Description copied from interface:CharAppender
Returns the last index of a given character in the current appended (characters that have been marked as whitespace will be ignored)- Specified by:
lastIndexOf
in interfaceCharAppender
- Parameters:
ch
- the character to look for- Returns:
- the last position of the given character in the appended content, or
-1
if not found.
-