Package 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
Description
`BytesRefBuilder()`
Sole constructor.

## Method Summary

Modifier and Type
Method
Description
`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.
`void`
`growNoCopy(int capacity)`
Used to grow the builder without copying bytes.
`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 Details

### BytesRefBuilder

public BytesRefBuilder()
Sole constructor.

## Method Details

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

### growNoCopy

public void growNoCopy(int capacity)
Used to grow the builder without copying bytes. see `ArrayUtil.growNoCopy(byte[], int)`.

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