Class DefaultCharAppender
- java.lang.Object
-
- com.univocity.parsers.common.input.DefaultCharAppender
-
- All Implemented Interfaces:
CharAppender,java.lang.CharSequence
- Direct Known Subclasses:
ExpandingCharAppender
public class DefaultCharAppender extends java.lang.Object implements CharAppender
Default implementation of theCharAppenderinterface
-
-
Constructor Summary
Constructors Constructor Description DefaultCharAppender(int maxLength, java.lang.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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidappend(char ch)Appends the given character.voidappend(char[] ch)Appends characters from an input arrayvoidappend(char[] ch, int from, int length)Appends characters from an input arrayvoidappend(int ch)Appends the given codepoint.voidappend(int[] ch)Appends codepoints from an input arrayvoidappend(DefaultCharAppender appender)Appends the contents of another DefaultCharAppender, discarding any of its trailing whitespace charactersvoidappend(java.lang.String string)Appends characters from an inputStringvoidappend(java.lang.String string, int from, int to)Appends the contents of a String to this appendervoidappendIgnoringPadding(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.)voidappendIgnoringWhitespace(char ch)Appends the given character and marks it as ignored if it is a whitespace (ch <= ' ')voidappendIgnoringWhitespaceAndPadding(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.)charappendUntil(char ch, CharInput input, char stop)Appends characters from the input, until a stop character is foundcharappendUntil(char ch, CharInput input, char stop1, char stop2)Appends characters from the input, until a stop character is foundcharappendUntil(char ch, CharInput input, char stop1, char stop2, char stop3)Appends characters from the input, until a stop character is foundcharcharAt(int i)voidfill(char ch, int length)Adds a sequence of repeated characters to the input.java.lang.StringgetAndReset()Returns the accumulated value as a String, discarding any trailing whitespace characters identified when usingappendIgnoringWhitespace(char),appendIgnoringPadding(char, char)orappendIgnoringWhitespaceAndPadding(char, char)char[]getChars()Returns the internal character array.char[]getCharsAndReset()Returns the accumulated characters, discarding any trailing whitespace characters identified when usingappendIgnoringWhitespace(char),appendIgnoringPadding(char, char)orappendIgnoringWhitespaceAndPadding(char, char)intlength()Returns the current accumulated value length (the sum of all appended characters - whitespaceCount).voidprepend(char ch)Prepends the current accumulated value with a charactervoidprepend(char[] chars)Prepends the current accumulated value a sequence of charactersvoidprepend(char ch1, char ch2)Prepends the current accumulated value with a couple of charactersvoidreset()Clears the accumulated value and the whitespace count.voidresetWhitespaceCount()Resets the number of whitespaces accumulated after the last non-whitespace character.java.lang.StringsubSequence(int from, int to)java.lang.StringtoString()Returns the accumulated value as a String, discarding any trailing whitespace characters identified when usingappendIgnoringWhitespace(char),appendIgnoringPadding(char, char)orappendIgnoringWhitespaceAndPadding(char, char)voidupdateWhitespace()Updates the internal whitespace count of this appender to trim trailing whitespaces.intwhitespaceCount()Returns the current number of whitespaces accumulated after the last non-whitespace character.
-
-
-
Constructor Detail
-
DefaultCharAppender
public DefaultCharAppender(int maxLength, java.lang.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. 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 Detail
-
appendIgnoringPadding
public void appendIgnoringPadding(char ch, char padding)Description copied from interface:CharAppenderAppends 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:
appendIgnoringPaddingin interfaceCharAppender- Parameters:
ch- character to appendpadding- the padding character to ignore
-
appendIgnoringWhitespaceAndPadding
public void appendIgnoringWhitespaceAndPadding(char ch, char padding)Description copied from interface:CharAppenderAppends 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:
appendIgnoringWhitespaceAndPaddingin interfaceCharAppender- Parameters:
ch- character to appendpadding- the padding character to ignore
-
appendIgnoringWhitespace
public void appendIgnoringWhitespace(char ch)
Description copied from interface:CharAppenderAppends the given character and marks it as ignored if it is a whitespace (ch <= ' ')- Specified by:
appendIgnoringWhitespacein interfaceCharAppender- Parameters:
ch- character to append
-
append
public void append(char ch)
Description copied from interface:CharAppenderAppends the given character.- Specified by:
appendin interfaceCharAppender- Parameters:
ch- the character to append
-
append
public final void append(int ch)
Description copied from interface:CharAppenderAppends the given codepoint.- Specified by:
appendin interfaceCharAppender- Parameters:
ch- the codepoint to append
-
append
public final void append(int[] ch)
Description copied from interface:CharAppenderAppends codepoints from an input array- Specified by:
appendin interfaceCharAppender- Parameters:
ch- the codepoint array
-
getAndReset
public java.lang.String 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
emptyValueattribute defined in the constructor of this class.- Specified by:
getAndResetin interfaceCharAppender- Returns:
- a String containing the accumulated characters without the trailing white spaces. Or the
emptyValuedefined in the constructor of this class.
-
toString
public final java.lang.String 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
emptyValueattribute defined in the constructor of this class.- Specified by:
toStringin interfacejava.lang.CharSequence- Overrides:
toStringin classjava.lang.Object- Returns:
- a String containing the accumulated characters without the trailing white spaces. Or the
emptyValuedefined in the constructor of this class.
-
length
public final int length()
Description copied from interface:CharAppenderReturns the current accumulated value length (the sum of all appended characters - whitespaceCount).- Specified by:
lengthin interfaceCharAppender- Specified by:
lengthin interfacejava.lang.CharSequence- 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
emptyValueattribute defined in the constructor of this class.- Specified by:
getCharsAndResetin interfaceCharAppender- Returns:
- a character array containing the accumulated characters without the trailing white spaces. Or the characters of the
emptyValuedefined in the constructor of this class.
-
whitespaceCount
public final int whitespaceCount()
Description copied from interface:CharAppenderReturns 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:
whitespaceCountin 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:CharAppenderClears the accumulated value and the whitespace count.- Specified by:
resetin interfaceCharAppender
-
append
public void append(DefaultCharAppender appender)
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:CharAppenderResets 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:
resetWhitespaceCountin interfaceCharAppender
-
getChars
public final char[] getChars()
Description copied from interface:CharAppenderReturns the internal character array.- Specified by:
getCharsin interfaceCharAppender- Returns:
- the internal character array.
-
fill
public void fill(char ch, int length)Description copied from interface:CharAppenderAdds a sequence of repeated characters to the input.- Specified by:
fillin 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:
prependin 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:CharAppenderPrepends the current accumulated value with a couple of characters- Specified by:
prependin 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:CharAppenderPrepends the current accumulated value a sequence of characters- Specified by:
prependin 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:
updateWhitespacein interfaceCharAppender
-
appendUntil
public char appendUntil(char ch, CharInput input, char stop)Description copied from interface:CharAppenderAppends characters from the input, until a stop character is found- Specified by:
appendUntilin 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
public char appendUntil(char ch, CharInput input, char stop1, char stop2)Description copied from interface:CharAppenderAppends characters from the input, until a stop character is found- Specified by:
appendUntilin 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
public char appendUntil(char ch, CharInput input, char stop1, char stop2, char stop3)Description copied from interface:CharAppenderAppends characters from the input, until a stop character is found- Specified by:
appendUntilin 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:CharAppenderAppends characters from an input array- Specified by:
appendin 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:CharAppenderAppends characters from an input array- Specified by:
appendin interfaceCharAppender- Parameters:
ch- the character array
-
append
public void append(java.lang.String string, int from, int to)Description copied from interface:CharAppenderAppends the contents of a String to this appender- Specified by:
appendin 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
public final void append(java.lang.String string)
Description copied from interface:CharAppenderAppends characters from an inputString- Specified by:
appendin interfaceCharAppender- Parameters:
string- the input String
-
charAt
public final char charAt(int i)
- Specified by:
charAtin interfacejava.lang.CharSequence
-
subSequence
public final java.lang.String subSequence(int from, int to)- Specified by:
subSequencein interfacejava.lang.CharSequence
-
-