Class ChunkModel

java.lang.Object
ghidra.framework.main.logviewer.model.ChunkModel
All Implemented Interfaces:
Iterable<Chunk>

public class ChunkModel extends Object implements Iterable<Chunk>
Stores all chunks read-in by the ChunkReader. The model is responsible for handling all interaction with the list of chunks.
  • Field Details

    • selectedByteStart

      public long selectedByteStart
    • selectedByteEnd

      public long selectedByteEnd
    • NUM_LINES

      public final int NUM_LINES
      See Also:
    • MAX_VISIBLE_CHUNKS

      public final int MAX_VISIBLE_CHUNKS
      See Also:
  • Constructor Details

    • ChunkModel

      public ChunkModel()
  • Method Details

    • add

      public void add(Chunk chunk)
      Adds the given chunk to the model.
      Parameters:
      chunk -
    • add

      public void add(int index, Chunk chunk)
      Adds a chunk at the given index to the model.
      Parameters:
      index -
      chunk -
    • remove

      public Chunk remove(int index)
      Removes the chunk at the given index from the model.
      Parameters:
      index -
    • clear

      public void clear()
      Clears all chunks from the model.
    • getSize

      public int getSize()
      Returns the number of chunks in the model.
      Returns:
    • get

      public Chunk get(int index)
      Returns the chunk at the given index.
      Parameters:
      index -
      Returns:
    • iterator

      public Iterator<Chunk> iterator()
      Specified by:
      iterator in interface Iterable<Chunk>
    • getNumChunks

      public int getNumChunks()
      Returns:
    • getFilePositionForRow

      public Pair getFilePositionForRow(int row)
      Returns the start/end byte positions within the input file for the given row. To do this we have to loop over all chunks in the ChunkModel and count the number of lines in each chunk until we get to the line (row) we're looking for. We then grab the correct value from the byteMap for that chunk line, which is the starting byte for it.
      Parameters:
      row -
      Returns:
      the byte position in the file this row corresponds to
    • getRowForBytePos

      public int getRowForBytePos(long selectedByte)
      Searches the visible chunks to see if any of them contain the given byte. If so, returns the row in the table where it resides. Returns -1 otherwise.
      Parameters:
      selectedByte -
      Returns: