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`