Class CompositeBytesReference

java.lang.Object
org.elasticsearch.common.bytes.AbstractBytesReference
org.elasticsearch.common.bytes.CompositeBytesReference
All Implemented Interfaces:
java.lang.Comparable<BytesReference>, BytesReference, org.elasticsearch.common.xcontent.ToXContent, org.elasticsearch.common.xcontent.ToXContentFragment

public final class CompositeBytesReference
extends AbstractBytesReference
A composite BytesReference that allows joining multiple bytes references into one without copying. Note, toBytesRef() will materialize all pages in this BytesReference.
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.elasticsearch.common.xcontent.ToXContent

    org.elasticsearch.common.xcontent.ToXContent.DelegatingMapParams, org.elasticsearch.common.xcontent.ToXContent.MapParams, org.elasticsearch.common.xcontent.ToXContent.Params
  • Field Summary

    Fields inherited from interface org.elasticsearch.common.xcontent.ToXContent

    EMPTY_PARAMS
  • Method Summary

    Modifier and Type Method Description
    byte get​(int index)
    Returns the byte at the specified index.
    int indexOf​(byte marker, int from)
    Finds the index of the first occurrence of the given marker between within the given bounds.
    org.apache.lucene.util.BytesRefIterator iterator()
    Returns a BytesRefIterator for this BytesReference.
    int length()
    The length.
    static BytesReference of​(BytesReference... references)  
    long ramBytesUsed()
    The amount of memory used by this BytesReference
    BytesReference slice​(int from, int length)
    Slice the bytes from the from index up to length.
    org.apache.lucene.util.BytesRef toBytesRef()
    Converts to Lucene BytesRef.
    void writeTo​(java.io.OutputStream os)
    Writes the bytes directly to the output stream.

    Methods inherited from class org.elasticsearch.common.bytes.AbstractBytesReference

    compareTo, equals, getInt, hashCode, streamInput, toXContent, utf8ToString

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface org.elasticsearch.common.xcontent.ToXContentFragment

    isFragment
  • Method Details

    • of

      public static BytesReference of​(BytesReference... references)
    • get

      public byte get​(int index)
      Description copied from interface: BytesReference
      Returns the byte at the specified index. Need to be between 0 and length.
    • indexOf

      public int indexOf​(byte marker, int from)
      Description copied from interface: BytesReference
      Finds the index of the first occurrence of the given marker between within the given bounds.
      Specified by:
      indexOf in interface BytesReference
      Overrides:
      indexOf in class AbstractBytesReference
      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

      public int length()
      Description copied from interface: BytesReference
      The length.
    • slice

      public BytesReference slice​(int from, int length)
      Description copied from interface: BytesReference
      Slice the bytes from the from index up to length.
    • toBytesRef

      public org.apache.lucene.util.BytesRef toBytesRef()
      Description copied from interface: BytesReference
      Converts to Lucene BytesRef.
    • iterator

      public org.apache.lucene.util.BytesRefIterator iterator()
      Description copied from interface: BytesReference
      Returns a BytesRefIterator for this BytesReference. This method allows access to the internal pages of this reference without copying them. Use with care!
      Specified by:
      iterator in interface BytesReference
      Overrides:
      iterator in class AbstractBytesReference
      See Also:
      BytesRefIterator
    • writeTo

      public void writeTo​(java.io.OutputStream os) throws java.io.IOException
      Description copied from interface: BytesReference
      Writes the bytes directly to the output stream.
      Specified by:
      writeTo in interface BytesReference
      Overrides:
      writeTo in class AbstractBytesReference
      Throws:
      java.io.IOException
    • ramBytesUsed

      public long ramBytesUsed()
      Description copied from interface: BytesReference
      The amount of memory used by this BytesReference