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 and Description
`CharsRefBuilder()` Sole constructor.

### Method Summary

All Methods Instance Methods Concrete Methods
`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`