com.univocity.parsers.common.input
Class DefaultCharAppender

java.lang.Object
  extended by com.univocity.parsers.common.input.DefaultCharAppender
All Implemented Interfaces:
CharAppender, CharSequence
Direct Known Subclasses:
ExpandingCharAppender

public class DefaultCharAppender
extends Object
implements CharAppender

Default implementation of the CharAppender interface


Constructor Summary
DefaultCharAppender(int maxLength, String emptyValue)
          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
 void append(char ch)
          Appends the given character.
 void append(char[] ch)
          Appends characters from an input array
 void append(char[] ch, int from, int length)
          Appends characters from an input array
 void append(DefaultCharAppender appender)
          Appends the contents of another DefaultCharAppender, discarding any of its trailing whitespace characters
 void append(String string)
          Appends characters from an input String
 void append(String string, int from, int to)
          Appends the contents of a String to this appender
 void 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, CharInputReader input, char stop)
          Appends characters from the input, until a stop character is found
 char appendUntil(char ch, CharInputReader input, char stop1, char stop2)
          Appends characters from the input, until a stop character is found
 char appendUntil(char ch, CharInputReader input, char stop1, char stop2, char stop3)
          Appends characters from the input, until a stop character is found
 char charAt(int i)
           
 void fill(char ch, int length)
          Adds a sequence of repeated characters to the input.
 String getAndReset()
          Returns the accumulated value as a String, discarding any trailing whitespace characters identified when using appendIgnoringWhitespace(char), appendIgnoringPadding(char, char) or appendIgnoringWhitespaceAndPadding(char, char)
 char[] getChars()
          Returns the internal character array.
 char[] getCharsAndReset()
          Returns the accumulated characters, discarding any trailing whitespace characters identified when using appendIgnoringWhitespace(char), appendIgnoringPadding(char, char) or appendIgnoringWhitespaceAndPadding(char, char)
 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 character
 void prepend(char ch1, char ch2)
          Prepends the current accumulated value with a couple of characters
 void reset()
          Clears the accumulated value and the whitespace count.
 void resetWhitespaceCount()
          Resets the number of whitespaces accumulated after the last non-whitespace character.
 String subSequence(int from, int to)
           
 String toString()
          Returns the accumulated value as a String, discarding any trailing whitespace characters identified when using appendIgnoringWhitespace(char), appendIgnoringPadding(char, char) or appendIgnoringWhitespaceAndPadding(char, char)
 void updateWhitespace()
          Updates the internal whitespace count of this appender to trim trailing whitespaces.
 int whitespaceCount()
          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
 

Constructor Detail

DefaultCharAppender

public DefaultCharAppender(int maxLength,
                           String emptyValue)
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 append
emptyValue - default value to return when no characters have been accumulated
Method Detail

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 interface CharAppender
Parameters:
ch - character to append
padding - 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 interface CharAppender
Parameters:
ch - character to append
padding - 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 interface CharAppender
Parameters:
ch - character to append

append

public void append(char ch)
Description copied from interface: CharAppender
Appends the given character.

Specified by:
append in interface CharAppender
Parameters:
ch - the character to append

getAndReset

public final String getAndReset()
Returns the accumulated value as a String, discarding any trailing whitespace characters identified when using appendIgnoringWhitespace(char), appendIgnoringPadding(char, char) or appendIgnoringWhitespaceAndPadding(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 interface CharAppender
Returns:
a String containing the accumulated characters without the trailing white spaces. Or the emptyValue defined in the constructor of this class.

toString

public final String toString()
Returns the accumulated value as a String, discarding any trailing whitespace characters identified when using appendIgnoringWhitespace(char), appendIgnoringPadding(char, char) or appendIgnoringWhitespaceAndPadding(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 interface CharSequence
Overrides:
toString in class Object
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 interface CharAppender
Specified by:
length in interface CharSequence
Returns:
the current accumulated value length (the sum of all appended characters - whitespaceCount).

getCharsAndReset

public final char[] getCharsAndReset()
Returns the accumulated characters, discarding any trailing whitespace characters identified when using appendIgnoringWhitespace(char), appendIgnoringPadding(char, char) or appendIgnoringWhitespaceAndPadding(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 interface CharAppender
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) or CharAppender.appendIgnoringWhitespaceAndPadding(char, char)

Specified by:
whitespaceCount in interface CharAppender
Returns:
the number of whitespaces accumulated using CharAppender.appendIgnoringWhitespace(char), CharAppender.appendIgnoringPadding(char, char) or CharAppender.appendIgnoringWhitespaceAndPadding(char, char)

reset

public final void reset()
Description copied from interface: CharAppender
Clears the accumulated value and the whitespace count.

Specified by:
reset in interface CharAppender

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: 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) or CharAppender.appendIgnoringWhitespaceAndPadding(char, char)

A subsequent call to CharAppender.whitespaceCount() should return 0.

Specified by:
resetWhitespaceCount in interface CharAppender

getChars

public final char[] getChars()
Description copied from interface: CharAppender
Returns the internal character array.

Specified by:
getChars in interface CharAppender
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 interface CharAppender
Parameters:
ch - the character to append
length - 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 interface CharAppender
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 interface CharAppender
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.

updateWhitespace

public final void updateWhitespace()
Updates the internal whitespace count of this appender to trim trailing whitespaces.

Specified by:
updateWhitespace in interface CharAppender

appendUntil

public char appendUntil(char ch,
                        CharInputReader input,
                        char stop)
Description copied from interface: CharAppender
Appends characters from the input, until a stop character is found

Specified by:
appendUntil in interface CharAppender
Parameters:
ch - the first character of the input to be appended.
input - the input whose the following characters will be appended
stop - the stop character
Returns:
the stop character found on the input.

appendUntil

public char appendUntil(char ch,
                        CharInputReader input,
                        char stop1,
                        char stop2)
Description copied from interface: CharAppender
Appends characters from the input, until a stop character is found

Specified by:
appendUntil in interface CharAppender
Parameters:
ch - the first character of the input to be appended.
input - the input whose the following characters will be appended
stop1 - the first stop character
stop2 - the second stop character
Returns:
one of the stop characters found on the input.

appendUntil

public char appendUntil(char ch,
                        CharInputReader input,
                        char stop1,
                        char stop2,
                        char stop3)
Description copied from interface: CharAppender
Appends characters from the input, until a stop character is found

Specified by:
appendUntil in interface CharAppender
Parameters:
ch - the first character of the input to be appended.
input - the input whose the following characters will be appended
stop1 - the first stop character
stop2 - the second stop character
stop3 - 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 interface CharAppender
Parameters:
ch - the character array
from - the position of the first character in the array to be appended
length - 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 interface CharAppender
Parameters:
ch - the character array

append

public void append(String string,
                   int from,
                   int to)
Description copied from interface: CharAppender
Appends the contents of a String to this appender

Specified by:
append in interface CharAppender
Parameters:
string - the string whose characters will be appended.
from - the index of the first character to append
to - the index of the last character to append

append

public final void append(String string)
Description copied from interface: CharAppender
Appends characters from an input String

Specified by:
append in interface CharAppender
Parameters:
string - the input String

charAt

public final char charAt(int i)
Specified by:
charAt in interface CharSequence

subSequence

public final String subSequence(int from,
                                int to)
Specified by:
subSequence in interface CharSequence


Copyright © 2016 uniVocity Software Pty Ltd. All rights reserved.