Class BytesStore

    • Field Detail

      • BASE_RAM_BYTES_USED

        private static final long BASE_RAM_BYTES_USED
      • blocks

        private final java.util.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 Detail

      • BytesStore

        public BytesStore​(int blockBits)
    • Method Detail

      • 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:
        DataInput.readByte()
      • 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:
        DataInput.readBytes(byte[],int,int)
      • 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 java.io.IOException
        Description copied from class: DataOutput
        Copy numBytes bytes from input to ourself.
        Overrides:
        copyBytes in class DataOutput
        Throws:
        java.io.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 java.io.IOException
        Writes all of our bytes to the target DataOutput.
        Specified by:
        writeTo in interface FSTReader
        Parameters:
        out - the DataOutput
        Throws:
        java.io.IOException - if exception occurred during writing
      • 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 java.lang.String toString()
        Overrides:
        toString in class java.lang.Object