Package org.apache.lucene.util

## Class CharsRefBuilder

- java.lang.Object
- - org.apache.lucene.util.CharsRefBuilder

- All Implemented Interfaces:
    `Appendable`

      public class CharsRefBuilder
      extends Object
      implements Appendable

  A builder for `CharsRef` instances.
  NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `CharsRefBuilder()` | Sole constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `CharsRefBuilder` | `append​(char c)` |
    `void` | `append​(char[] otherChars, int otherOffset, int otherLength)` | Appends the given array to this CharsRef
    `CharsRefBuilder` | `append​(CharSequence csq)` |
    `CharsRefBuilder` | `append​(CharSequence csq, int start, int end)` |
    `char` | `charAt​(int offset)` | Return the char at the given offset.
    `char[]` | `chars()` | Return a reference to the chars of this builder.
    `void` | `clear()` | Reset this builder to the empty state.
    `void` | `copyChars​(char[] otherChars, int otherOffset, int otherLength)` | Copies the given array into this instance.
    `void` | `copyChars​(CharsRef other)` | Copies the given `CharsRef` referenced content into this instance.
    `void` | `copyUTF8Bytes​(byte[] bytes, int offset, int length)` | Copy the provided bytes, interpreted as UTF-8 bytes.
    `void` | `copyUTF8Bytes​(BytesRef bytes)` | Copy the provided bytes, interpreted as UTF-8 bytes.
    `boolean` | `equals​(Object obj)` |
    `CharsRef` | `get()` | Return a `CharsRef` that points to the internal content of this builder.
    `void` | `grow​(int newLength)` | Used to grow the reference array.
    `int` | `hashCode()` |
    `int` | `length()` | Return the number of chars in this buffer.
    `void` | `setCharAt​(int offset, char b)` | Set a char.
    `void` | `setLength​(int length)` | Set the length.
    `CharsRef` | `toCharsRef()` | Build a new `CharsRef` that has the same content as this builder.
    `String` | `toString()` |

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### CharsRefBuilder

          public CharsRefBuilder()

      Sole constructor.

  - ### Method Detail

    - #### chars

          public char[] chars()

      Return a reference to the chars of this builder.

    - #### length

          public int length()

      Return the number of chars in this buffer.

    - #### setLength

          public void setLength​(int length)

      Set the length.

    - #### charAt

          public char charAt​(int offset)

      Return the char at the given offset.

    - #### setCharAt

          public void setCharAt​(int offset,
                                char b)

      Set a char.

    - #### clear

          public void clear()

      Reset this builder to the empty state.

    - #### append

          public CharsRefBuilder append​(CharSequence csq)

      Specified by:
        `append` in interface `Appendable`

    - #### append

          public CharsRefBuilder append​(CharSequence csq,
                                        int start,
                                        int end)

      Specified by:
        `append` in interface `Appendable`

    - #### append

          public CharsRefBuilder append​(char c)

      Specified by:
        `append` in interface `Appendable`

    - #### copyChars

          public void copyChars​(CharsRef other)

      Copies the given `CharsRef` referenced content into this instance.

    - #### grow

          public void grow​(int newLength)

      Used to grow the reference array.

    - #### copyUTF8Bytes

          public void copyUTF8Bytes​(byte[] bytes,
                                    int offset,
                                    int length)

      Copy the provided bytes, interpreted as UTF-8 bytes.

    - #### copyUTF8Bytes

          public void copyUTF8Bytes​(BytesRef bytes)

      Copy the provided bytes, interpreted as UTF-8 bytes.

    - #### copyChars

          public void copyChars​(char[] otherChars,
                                int otherOffset,
                                int otherLength)

      Copies the given array into this instance.

    - #### append

          public void append​(char[] otherChars,
                             int otherOffset,
                             int otherLength)

      Appends the given array to this CharsRef

    - #### get

          public CharsRef get()

      Return a `CharsRef` that points to the internal content of this builder. Any update to the content of this builder might invalidate the provided `ref` and vice-versa.

    - #### toCharsRef

          public CharsRef toCharsRef()

      Build a new `CharsRef` that has the same content as this builder.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### equals

          public boolean equals​(Object obj)

      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`