Class MemBufferByteProvider

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

    public class MemBufferByteProvider
    extends java.lang.Object
    implements ByteProvider
    MemBufferByteProvider provide a ByteProvider backed by a MemBuffer.
    • Constructor Detail

      • MemBufferByteProvider

        public MemBufferByteProvider​(MemBuffer buffer)
        Constructor
        Parameters:
        buffer - memory buffer
    • Method Detail

      • getFile

        public java.io.File getFile()
        Description copied from interface: ByteProvider
        Returns the underlying File for this ByteProvider, or null if this ByteProvider is not associated with a File.
        Specified by:
        getFile in interface ByteProvider
        Returns:
        the underlying file for this byte provider
      • getName

        public java.lang.String getName()
        Description copied from interface: ByteProvider
        Returns the name of the ByteProvider. For example, the underlying file name.
        Specified by:
        getName in interface ByteProvider
        Returns:
        the name of the ByteProvider or null if there is no name
      • getAbsolutePath

        public java.lang.String getAbsolutePath()
        Description copied from interface: ByteProvider
        Returns the absolute path (similar to, but not a, URI) to the ByteProvider. For example, the complete path to the file.
        Specified by:
        getAbsolutePath in interface ByteProvider
        Returns:
        the absolute path to the ByteProvider or null if not associated with a File.
      • length

        public long length()
        Return maximum length since actual length is unknown
        Specified by:
        length in interface ByteProvider
        Returns:
        maximum possible length
      • isValidIndex

        public boolean isValidIndex​(long index)
        Description copied from interface: ByteProvider
        Returns true if the specified index is valid.
        Specified by:
        isValidIndex in interface ByteProvider
        Parameters:
        index - the index in the byte provider to check
        Returns:
        true if the specified index is valid
      • close

        public void close()
                   throws java.io.IOException
        Description copied from interface: ByteProvider
        Releases any resources the ByteProvider may have occupied
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface ByteProvider
        Specified by:
        close in interface java.io.Closeable
        Throws:
        java.io.IOException - if an I/O error occurs
      • readByte

        public byte readByte​(long index)
                      throws java.io.IOException
        Description copied from interface: ByteProvider
        Reads a byte at the specified index
        Specified by:
        readByte in interface ByteProvider
        Parameters:
        index - the index of the byte to read
        Returns:
        the byte read from the specified index
        Throws:
        java.io.IOException - if an I/O error occurs
      • readBytes

        public byte[] readBytes​(long index,
                                long length)
                         throws java.io.IOException
        Description copied from interface: ByteProvider
        Reads a byte array at the specified index
        Specified by:
        readBytes in interface ByteProvider
        Parameters:
        index - the index of the byte to read
        length - the number of bytes to read
        Returns:
        the byte array read from the specified index
        Throws:
        java.io.IOException - if an I/O error occurs