Class StringTable
- java.lang.Object
 - 
- ghidra.app.util.bin.format.dwarf4.next.StringTable
 
 
- 
public class StringTable extends java.lang.ObjectA offset-to-String string table backed by a simple byte array (encoded as UTF-8).Requested strings are instantiated when requested.
 
- 
- 
Constructor Summary
Constructors Constructor Description StringTable(byte[] bytes)Creates a StringTable using the bytes contained in the supplied array. 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(int offset, java.lang.String s)Modifies the string table to add a string at a specified offset, growing the internal byte[] storage as necessary to accommodate the string at the offset.voidclear()intgetByteCount()java.lang.StringgetStringAtOffset(long offset)Returns the string found atoffset, or throws anIOExceptionif the offset is out of bounds.booleanisValid(long offset)Returns true if the specified offset is a valid offset for this string table.static StringTablereadStringTable(ByteProvider bp)Create aStringTableby reading the entire contents of aByteProviderinto memory. 
 - 
 
- 
- 
Method Detail
- 
readStringTable
public static StringTable readStringTable(ByteProvider bp) throws java.io.IOException
Create aStringTableby reading the entire contents of aByteProviderinto memory.If the specified
ByteProvideris null, an empty string table will be constructed.- Parameters:
 bp-- Returns:
 - Throws:
 java.io.IOException
 
- 
isValid
public boolean isValid(long offset)
Returns true if the specified offset is a valid offset for this string table.- Parameters:
 offset-- Returns:
 
 
- 
clear
public void clear()
 
- 
getStringAtOffset
public java.lang.String getStringAtOffset(long offset) throws java.io.IOExceptionReturns the string found atoffset, or throws anIOExceptionif the offset is out of bounds.- Parameters:
 offset-- Returns:
 - a string, never null.
 - Throws:
 java.io.IOException- if not found
 
- 
getByteCount
public int getByteCount()
 
- 
add
public void add(int offset, java.lang.String s)Modifies the string table to add a string at a specified offset, growing the internal byte[] storage as necessary to accommodate the string at the offset.Used for unit tests to construct a custom string table for test cases.
- Parameters:
 offset- where to place the string in the tables- string to insert into table
 
 - 
 
 -