org.apache.lucene.util

## Class BytesRefBuilder

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

    public class BytesRefBuilder
    extends Object

A builder for `BytesRef` 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
`BytesRefBuilder()` Sole constructor.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `append(byte b)` Append a single byte to this builder.
`void` `append(byte[] b, int off, int len)` Append the provided bytes to this builder.
`void` `append(BytesRef ref)` Append the provided bytes to this builder.
`void` `append(BytesRefBuilder builder)` Append the provided bytes to this builder.
`byte` `byteAt(int offset)` Return the byte at the given offset.
`byte[]` `bytes()` Return a reference to the bytes of this builder.
`void` `clear()` Reset this builder to the empty state.
`void` `copyBytes(byte[] b, int off, int len)` Replace the content of this builder with the provided bytes.
`void` `copyBytes(BytesRef ref)` Replace the content of this builder with the provided bytes.
`void` `copyBytes(BytesRefBuilder builder)` Replace the content of this builder with the provided bytes.
`void` `copyChars(char[] text, int off, int len)` Replace the content of this buffer with UTF-8 encoded bytes that would represent the provided text.
`void` `copyChars(CharSequence text)` Replace the content of this buffer with UTF-8 encoded bytes that would represent the provided text.
`void` `copyChars(CharSequence text, int off, int len)` Replace the content of this buffer with UTF-8 encoded bytes that would represent the provided text.
`boolean` `equals(Object obj)`
`BytesRef` `get()` Return a `BytesRef` that points to the internal content of this builder.
`void` `grow(int capacity)` Ensure that this builder can hold at least `capacity` bytes without resizing.
`int` `hashCode()`
`int` `length()` Return the number of bytes in this buffer.
`void` `setByteAt(int offset, byte b)` Set a byte.
`void` `setLength(int length)` Set the length.
`BytesRef` `toBytesRef()` Build a new `BytesRef` that has the same content as this buffer.

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

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

### Constructor Detail

#### BytesRefBuilder

    public BytesRefBuilder()

Sole constructor.

### Method Detail

#### bytes

    public byte[] bytes()

Return a reference to the bytes of this builder.

#### length

    public int length()

Return the number of bytes in this buffer.

#### setLength

    public void setLength(int length)

Set the length.

#### byteAt

    public byte byteAt(int offset)

Return the byte at the given offset.

#### setByteAt

    public void setByteAt(int offset,
                          byte b)

Set a byte.

#### grow

    public void grow(int capacity)

Ensure that this builder can hold at least `capacity` bytes without resizing.

#### append

    public void append(byte b)

Append a single byte to this builder.

#### append

    public void append(byte[] b,
                       int off,
                       int len)

Append the provided bytes to this builder.

#### append

    public void append(BytesRef ref)

Append the provided bytes to this builder.

#### append

    public void append(BytesRefBuilder builder)

Append the provided bytes to this builder.

#### clear

    public void clear()

Reset this builder to the empty state.

#### copyBytes

    public void copyBytes(byte[] b,
                          int off,
                          int len)

Replace the content of this builder with the provided bytes. Equivalent to calling `clear()` and then `append(byte[], int, int)`.

#### copyBytes

    public void copyBytes(BytesRef ref)

Replace the content of this builder with the provided bytes. Equivalent to calling `clear()` and then `append(BytesRef)`.

#### copyBytes

    public void copyBytes(BytesRefBuilder builder)

Replace the content of this builder with the provided bytes. Equivalent to calling `clear()` and then `append(BytesRefBuilder)`.

#### copyChars

    public void copyChars(CharSequence text)

Replace the content of this buffer with UTF-8 encoded bytes that would represent the provided text.

#### copyChars

    public void copyChars(CharSequence text,
                          int off,
                          int len)

Replace the content of this buffer with UTF-8 encoded bytes that would represent the provided text.

#### copyChars

    public void copyChars(char[] text,
                          int off,
                          int len)

Replace the content of this buffer with UTF-8 encoded bytes that would represent the provided text.

#### get

    public BytesRef get()

Return a `BytesRef` 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.

#### toBytesRef

    public BytesRef toBytesRef()

Build a new `BytesRef` that has the same content as this buffer.

#### equals

    public boolean equals(Object obj)

Overrides:
  `equals` in class `Object`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `Object`