Interface BytesReference

All Superinterfaces:
Comparable<BytesReference>, ToXContent, ToXContentFragment
All Known Implementing Classes:
AbstractBytesReference, BytesArray, CompositeBytesReference, PagedBytesReference, ReleasableBytesReference

public interface BytesReference extends Comparable<BytesReference>, ToXContentFragment
A reference to bytes.
  • Method Details

    • bytes

      static BytesReference bytes(XContentBuilder xContentBuilder)
      Convert an XContentBuilder into a BytesReference. This method closes the builder, so no further fields may be added.
    • toBytes

      static byte[] toBytes(BytesReference reference)
      Returns a compact array from the given BytesReference. The returned array won't be copied unless necessary. If you need to modify the returned array use BytesRef.deepCopyOf(reference.toBytesRef() instead
    • toByteBuffers

      static ByteBuffer[] toByteBuffers(BytesReference reference)
      Returns an array of byte buffers from the given BytesReference.
    • fromByteBuffers

      static BytesReference fromByteBuffers(ByteBuffer[] buffers)
      Returns BytesReference composed of the provided ByteBuffers.
    • fromByteBuffer

      static BytesReference fromByteBuffer(ByteBuffer buffer)
      Returns BytesReference composed of the provided ByteBuffer.
    • fromByteArray

      static BytesReference fromByteArray(ByteArray byteArray, int length)
      Returns BytesReference either wrapping the provided ByteArray or in case the has a backing raw byte array one that wraps that backing array directly.
    • get

      byte get(int index)
      Returns the byte at the specified index. Need to be between 0 and length.
    • getInt

      int getInt(int index)
      Returns the integer read from the 4 bytes (BE) starting at the given index.
    • indexOf

      int indexOf(byte marker, int from)
      Finds the index of the first occurrence of the given marker between within the given bounds.
      Parameters:
      marker - marker byte to search
      from - lower bound for the index to check (inclusive)
      Returns:
      first index of the marker or -1 if not found
    • length

      int length()
      The length.
    • slice

      BytesReference slice(int from, int length)
      Slice the bytes from the from index up to length.
    • ramBytesUsed

      long ramBytesUsed()
      The amount of memory used by this BytesReference
    • streamInput

      StreamInput streamInput() throws IOException
      A stream input of the bytes.
      Throws:
      IOException
    • writeTo

      void writeTo(OutputStream os) throws IOException
      Writes the bytes directly to the output stream.
      Throws:
      IOException
    • utf8ToString

      String utf8ToString()
      Interprets the referenced bytes as UTF8 bytes, returning the resulting string
    • toBytesRef

      org.apache.lucene.util.BytesRef toBytesRef()
      Converts to Lucene BytesRef.
    • iterator

      org.apache.lucene.util.BytesRefIterator iterator()
      Returns a BytesRefIterator for this BytesReference. This method allows access to the internal pages of this reference without copying them. Use with care!
      See Also:
      • BytesRefIterator
    • hasArray

      default boolean hasArray()
      Returns:
      true if this instance is backed by a byte array
    • array

      default byte[] array()
      Returns:
      backing byte array for this instance
    • arrayOffset

      default int arrayOffset()
      Returns:
      offset of the first byte of this instance in the backing byte array