Class CharBuffer

java.lang.Object
org.apache.solr.internal.csv.CharBuffer

public class CharBuffer extends Object
A simple StringBuffer replacement that aims to reduce copying as much as possible. The buffer grows as necessary. This class is not thread safe.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a new CharBuffer with an initial capacity of 32 characters.
    CharBuffer(int length)
    Creates a new CharBuffer with an initial capacity of length characters.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    append(char data)
    Appends a single character to the end of this CharBuffer.
    void
    append(char[] data)
    Appends data to the end of this CharBuffer.
    void
    Appends s to the end of this CharBuffer.
    void
    Appends sb to the end of this CharBuffer.
    void
    Appends the contents of cb to the end of this CharBuffer.
    int
    Returns the current capacity of the buffer.
    char
    charAt(int pos)
    Returns the character at the specified position.
    void
    Empties the buffer.
    char[]
    Returns the contents of the buffer as a char[].
    int
    Returns the number of characters in the buffer.
    void
    provideCapacity(int capacity)
    Copies the data into a new array of at least capacity size.
    void
    Shrinks the capacity of the buffer to the current length if necessary.
    Converts the contents of the buffer into a StringBuffer.
    void
    Removes trailing whitespace.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • CharBuffer

      public CharBuffer()
      Creates a new CharBuffer with an initial capacity of 32 characters.
    • CharBuffer

      public CharBuffer(int length)
      Creates a new CharBuffer with an initial capacity of length characters.
  • Method Details

    • clear

      public void clear()
      Empties the buffer. The capacity still remains the same, so no memory is freed.
    • length

      public int length()
      Returns the number of characters in the buffer.
      Returns:
      the number of characters
    • capacity

      public int capacity()
      Returns the current capacity of the buffer.
      Returns:
      the maximum number of characters that can be stored in this buffer without resizing it.
    • append

      public void append(CharBuffer cb)
      Appends the contents of cb to the end of this CharBuffer.
      Parameters:
      cb - the CharBuffer to append or null
    • append

      public void append(String s)
      Appends s to the end of this CharBuffer. This method involves copying the new data once!
      Parameters:
      s - the String to append or null
    • append

      public void append(StringBuilder sb)
      Appends sb to the end of this CharBuffer. This method involves copying the new data once!
      Parameters:
      sb - the StringBuffer to append or null
    • append

      public void append(char[] data)
      Appends data to the end of this CharBuffer. This method involves copying the new data once!
      Parameters:
      data - the char[] to append or null
    • append

      public void append(char data)
      Appends a single character to the end of this CharBuffer. This method involves copying the new data once!
      Parameters:
      data - the char to append
    • shrink

      public void shrink()
      Shrinks the capacity of the buffer to the current length if necessary. This method involves copying the data once!
    • trimTrailingWhitespace

      public void trimTrailingWhitespace()
      Removes trailing whitespace.
    • getCharacters

      public char[] getCharacters()
      Returns the contents of the buffer as a char[]. The returned array may be the internal array of the buffer, so the caller must take care when modifying it. This method avoids copying if the caller knows the exact capacity before.
    • charAt

      public char charAt(int pos)
      Returns the character at the specified position.
    • toString

      public String toString()
      Converts the contents of the buffer into a StringBuffer. This method involves copying the new data once!
      Overrides:
      toString in class Object
    • provideCapacity

      public void provideCapacity(int capacity)
      Copies the data into a new array of at least capacity size.