Class MemBufferByteProvider

java.lang.Object
ghidra.app.util.bin.MemBufferByteProvider
All Implemented Interfaces:
ByteProvider, Closeable, AutoCloseable

public class MemBufferByteProvider extends Object implements ByteProvider
MemBufferByteProvider provide a ByteProvider backed by a MemBuffer.
  • Constructor Details

    • MemBufferByteProvider

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

    • getFile

      public 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 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 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 IOException
      Description copied from interface: ByteProvider
      Releases any resources the ByteProvider may have occupied
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface ByteProvider
      Specified by:
      close in interface Closeable
      Throws:
      IOException - if an I/O error occurs
    • readByte

      public byte readByte(long index) throws 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:
      IOException - if an I/O error occurs
    • readBytes

      public byte[] readBytes(long index, long length) throws 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:
      IOException - if an I/O error occurs