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

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 Details

### CharsRefBuilder

public CharsRefBuilder()
Sole constructor.

## Method Details

### 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`