Class EndiannessReverserIndexInput

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, java.lang.Cloneable

    final class EndiannessReverserIndexInput
    extends IndexInput
    A IndexInput wrapper that changes the endianness of the provided index input.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) IndexInput in  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      IndexInput clone()
      Returns a clone of this stream.
      void close()
      Closes the stream to further operations.
      long getFilePointer()
      Returns the current position in this file, where the next read will occur.
      long length()
      The number of bytes in the file.
      RandomAccessInput randomAccessSlice​(long offset, long length)
      Creates a random-access slice of this index input, with the given offset and length.
      byte readByte()
      Reads and returns a single byte.
      void readBytes​(byte[] b, int offset, int len)
      Reads a specified number of bytes into an array at the specified offset.
      void readBytes​(byte[] b, int offset, int len, boolean useBuffer)
      Reads a specified number of bytes into an array at the specified offset with control over whether the read should be buffered (callers who have their own buffer should pass in "false" for useBuffer).
      void readFloats​(float[] dst, int offset, int length)
      Reads a specified number of floats into an array at the specified offset.
      int readInt()
      Reads four bytes and returns an int (LE byte order).
      void readInts​(int[] dst, int offset, int length)
      Reads a specified number of ints into an array at the specified offset.
      long readLong()
      Reads eight bytes and returns a long (LE byte order).
      void readLongs​(long[] dst, int offset, int length)
      Read a specified number of longs.
      java.util.Map<java.lang.String,​java.lang.String> readMapOfStrings()
      Reads a Map<String,String> previously written with DataOutput.writeMapOfStrings(Map).
      java.util.Set<java.lang.String> readSetOfStrings()
      Reads a Set<String> previously written with DataOutput.writeSetOfStrings(Set).
      short readShort()
      Reads two bytes and returns a short (LE byte order).
      java.lang.String readString()
      Reads a string.
      int readVInt()
      Reads an int stored in variable-length format.
      long readVLong()
      Reads a long stored in variable-length format.
      int readZInt()
      Read a zig-zag-encoded variable-length integer.
      long readZLong()
      Read a zig-zag-encoded variable-length integer.
      void seek​(long pos)
      Sets current position in this file, where the next read will occur.
      void skipBytes​(long numBytes)
      Skip over numBytes bytes.
      IndexInput slice​(java.lang.String sliceDescription, long offset, long length)
      Creates a slice of this index input, with the given description, offset, and length.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • EndiannessReverserIndexInput

        EndiannessReverserIndexInput​(IndexInput in)
    • Method Detail

      • readBytes

        public void readBytes​(byte[] b,
                              int offset,
                              int len)
                       throws java.io.IOException
        Description copied from class: DataInput
        Reads a specified number of bytes into an array at the specified offset.
        Specified by:
        readBytes in class DataInput
        Parameters:
        b - the array to read bytes into
        offset - the offset in the array to start storing bytes
        len - the number of bytes to read
        Throws:
        java.io.IOException
        See Also:
        DataOutput.writeBytes(byte[],int)
      • readBytes

        public void readBytes​(byte[] b,
                              int offset,
                              int len,
                              boolean useBuffer)
                       throws java.io.IOException
        Description copied from class: DataInput
        Reads a specified number of bytes into an array at the specified offset with control over whether the read should be buffered (callers who have their own buffer should pass in "false" for useBuffer). Currently only BufferedIndexInput respects this parameter.
        Overrides:
        readBytes in class DataInput
        Parameters:
        b - the array to read bytes into
        offset - the offset in the array to start storing bytes
        len - the number of bytes to read
        useBuffer - set to false if the caller will handle buffering.
        Throws:
        java.io.IOException
        See Also:
        DataOutput.writeBytes(byte[],int)
      • readVInt

        public int readVInt()
                     throws java.io.IOException
        Description copied from class: DataInput
        Reads an int stored in variable-length format. Reads between one and five bytes. Smaller values take fewer bytes. Negative numbers are supported, but should be avoided.

        The format is described further in DataOutput.writeVInt(int).

        Overrides:
        readVInt in class DataInput
        Throws:
        java.io.IOException
        See Also:
        DataOutput.writeVInt(int)
      • readLongs

        public void readLongs​(long[] dst,
                              int offset,
                              int length)
                       throws java.io.IOException
        Description copied from class: DataInput
        Read a specified number of longs.
        Overrides:
        readLongs in class DataInput
        Throws:
        java.io.IOException
      • readInts

        public void readInts​(int[] dst,
                             int offset,
                             int length)
                      throws java.io.IOException
        Description copied from class: DataInput
        Reads a specified number of ints into an array at the specified offset.
        Overrides:
        readInts in class DataInput
        Parameters:
        dst - the array to read bytes into
        offset - the offset in the array to start storing ints
        length - the number of ints to read
        Throws:
        java.io.IOException
      • readFloats

        public void readFloats​(float[] dst,
                               int offset,
                               int length)
                        throws java.io.IOException
        Description copied from class: DataInput
        Reads a specified number of floats into an array at the specified offset.
        Overrides:
        readFloats in class DataInput
        Parameters:
        dst - the array to read bytes into
        offset - the offset in the array to start storing floats
        length - the number of floats to read
        Throws:
        java.io.IOException
      • readVLong

        public long readVLong()
                       throws java.io.IOException
        Description copied from class: DataInput
        Reads a long stored in variable-length format. Reads between one and nine bytes. Smaller values take fewer bytes. Negative numbers are not supported.

        The format is described further in DataOutput.writeVInt(int).

        Overrides:
        readVLong in class DataInput
        Throws:
        java.io.IOException
        See Also:
        DataOutput.writeVLong(long)
      • clone

        public IndexInput clone()
        Description copied from class: IndexInput
        Returns a clone of this stream.

        Clones of a stream access the same data, and are positioned at the same point as the stream they were cloned from.

        Expert: Subclasses must ensure that clones may be positioned at different points in the input from each other and from the stream they were cloned from.

        Warning: Lucene never closes cloned IndexInputs, it will only call IndexInput.close() on the original object.

        If you access the cloned IndexInput after closing the original object, any readXXX methods will throw AlreadyClosedException.

        This method is NOT thread safe, so if the current IndexInput is being used by one thread while clone is called by another, disaster could strike.

        Overrides:
        clone in class IndexInput
      • slice

        public IndexInput slice​(java.lang.String sliceDescription,
                                long offset,
                                long length)
                         throws java.io.IOException
        Description copied from class: IndexInput
        Creates a slice of this index input, with the given description, offset, and length. The slice is sought to the beginning.
        Specified by:
        slice in class IndexInput
        Throws:
        java.io.IOException
      • readMapOfStrings

        public java.util.Map<java.lang.String,​java.lang.String> readMapOfStrings()
                                                                                throws java.io.IOException
        Description copied from class: DataInput
        Reads a Map<String,String> previously written with DataOutput.writeMapOfStrings(Map).
        Overrides:
        readMapOfStrings in class DataInput
        Returns:
        An immutable map containing the written contents.
        Throws:
        java.io.IOException
      • readSetOfStrings

        public java.util.Set<java.lang.String> readSetOfStrings()
                                                         throws java.io.IOException
        Description copied from class: DataInput
        Reads a Set<String> previously written with DataOutput.writeSetOfStrings(Set).
        Overrides:
        readSetOfStrings in class DataInput
        Returns:
        An immutable set containing the written contents.
        Throws:
        java.io.IOException
      • skipBytes

        public void skipBytes​(long numBytes)
                       throws java.io.IOException
        Description copied from class: IndexInput
        Skip over numBytes bytes. This method may skip bytes in whatever way is most optimal, and may not have the same behavior as reading the skipped bytes. In general, negative numBytes are not supported.

        Behavior is functionally equivalent to seeking to getFilePointer() + numBytes.

        Overrides:
        skipBytes in class IndexInput
        Throws:
        java.io.IOException
        See Also:
        IndexInput.getFilePointer(), IndexInput.seek(long)
      • close

        public void close()
                   throws java.io.IOException
        Description copied from class: IndexInput
        Closes the stream to further operations.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in class IndexInput
        Throws:
        java.io.IOException
      • seek

        public void seek​(long pos)
                  throws java.io.IOException
        Description copied from class: IndexInput
        Sets current position in this file, where the next read will occur. If this is beyond the end of the file then this will throw EOFException and then the stream is in an undetermined state.
        Specified by:
        seek in class IndexInput
        Throws:
        java.io.IOException
        See Also:
        IndexInput.getFilePointer()
      • length

        public long length()
        Description copied from class: IndexInput
        The number of bytes in the file.
        Specified by:
        length in class IndexInput