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
    Modifier and Type | Method and 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.
    `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`

Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.