Class ChunkModel
- java.lang.Object
-
- ghidra.framework.main.logviewer.model.ChunkModel
-
- All Implemented Interfaces:
java.lang.Iterable<Chunk>
public class ChunkModel extends java.lang.Object implements java.lang.Iterable<Chunk>
Stores all chunks read-in by theChunkReader. The model is responsible for handling all interaction with the list of chunks.
-
-
Field Summary
Fields Modifier and Type Field Description intMAX_VISIBLE_CHUNKSintNUM_LINESlongselectedByteEndlongselectedByteStart
-
Constructor Summary
Constructors Constructor Description ChunkModel()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(int index, Chunk chunk)Adds a chunk at the given index to the model.voidadd(Chunk chunk)Adds the given chunk to the model.voidclear()Clears all chunks from the model.Chunkget(int index)Returns the chunk at the given index.PairgetFilePositionForRow(int row)Returns the start/end byte positions within the input file for the given row.intgetNumChunks()intgetRowForBytePos(long selectedByte)Searches the visible chunks to see if any of them contain the given byte.intgetSize()Returns the number of chunks in the model.java.util.Iterator<Chunk>iterator()Chunkremove(int index)Removes the chunk at the given index from the model.
-
-
-
Field Detail
-
selectedByteStart
public long selectedByteStart
-
selectedByteEnd
public long selectedByteEnd
-
NUM_LINES
public final int NUM_LINES
- See Also:
- Constant Field Values
-
MAX_VISIBLE_CHUNKS
public final int MAX_VISIBLE_CHUNKS
- See Also:
- Constant Field Values
-
-
Method Detail
-
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 java.util.Iterator<Chunk> iterator()
- Specified by:
iteratorin interfacejava.lang.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 theChunkModeland 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:
-
-