Class BytesStore

java.lang.Object
org.apache.lucene.store.DataOutput
org.apache.lucene.util.fst.BytesStore
All Implemented Interfaces:
Accountable, FSTReader

class BytesStore extends DataOutput implements FSTReader
  • Field Details

    • BASE_RAM_BYTES_USED

      private static final long BASE_RAM_BYTES_USED
    • blocks

      private final List<byte[]> blocks
    • blockSize

      private final int blockSize
    • blockBits

      private final int blockBits
    • blockMask

      private final int blockMask
    • current

      private byte[] current
    • nextWrite

      private int nextWrite
  • Constructor Details

    • BytesStore

      public BytesStore(int blockBits)
  • Method Details

    • writeByte

      public void writeByte(byte b)
      Description copied from class: DataOutput
      Writes a single byte.

      The most primitive data type is an eight-bit byte. Files are accessed as sequences of bytes. All other data types are defined as sequences of bytes, so file formats are byte-order independent.

      Specified by:
      writeByte in class DataOutput
      See Also:
    • writeBytes

      public void writeBytes(byte[] b, int offset, int len)
      Description copied from class: DataOutput
      Writes an array of bytes.
      Specified by:
      writeBytes in class DataOutput
      Parameters:
      b - the bytes to write
      offset - the offset in the byte array
      len - the number of bytes to write
      See Also:
    • getBlockBits

      int getBlockBits()
    • writeBytes

      void writeBytes(long dest, byte[] b, int offset, int len)
      Absolute writeBytes without changing the current position. Note: this cannot "grow" the bytes, so you must only call it on already written parts.
    • copyBytes

      public void copyBytes(DataInput input, long numBytes) throws IOException
      Description copied from class: DataOutput
      Copy numBytes bytes from input to ourself.
      Overrides:
      copyBytes in class DataOutput
      Throws:
      IOException
    • copyBytes

      public void copyBytes(long src, long dest, int len)
      Absolute copy bytes self to self, without changing the position. Note: this cannot "grow" the bytes, so must only call it on already written parts.
    • writeTo

      public void writeTo(long src, byte[] dest, int offset, int len)
      Copies bytes from this store to a target byte array.
    • reverse

      public void reverse(long srcPos, long destPos)
      Reverse from srcPos, inclusive, to destPos, inclusive.
    • skipBytes

      private void skipBytes(int len)
    • getPosition

      public long getPosition()
    • setPosition

      public void setPosition(long newLen)
      Set the position of this BytesStore, truncating or expanding if needed
    • finish

      public void finish()
    • writeTo

      public void writeTo(DataOutput out) throws IOException
      Writes all of our bytes to the target DataOutput.
      Specified by:
      writeTo in interface FSTReader
      Parameters:
      out - the DataOutput
      Throws:
      IOException - if exception occurred during writing
    • getForwardReader

      public FST.BytesReader getForwardReader()
    • getReverseBytesReader

      public FST.BytesReader getReverseBytesReader()
      Description copied from interface: FSTReader
      Get the reverse BytesReader for this FST
      Specified by:
      getReverseBytesReader in interface FSTReader
      Returns:
      the reverse BytesReader
    • ramBytesUsed

      public long ramBytesUsed()
      Description copied from interface: Accountable
      Return the memory usage of this object in bytes. Negative values are illegal.
      Specified by:
      ramBytesUsed in interface Accountable
    • toString

      public String toString()
      Overrides:
      toString in class Object