Package ghidra.program.database.map
Class AddressIndexPrimaryKeyIterator
java.lang.Object
ghidra.program.database.map.AddressIndexPrimaryKeyIterator
- All Implemented Interfaces:
DBFieldIterator
Long iterator over indexed addresses. The longs are primary keys returned ordered and restrained
by the address field they contain
-
Constructor Summary
ConstructorsConstructorDescriptionEmpty iterator constructorAddressIndexPrimaryKeyIterator(Table table, int indexCol, AddressMap addrMap, boolean atStart) Constructs a new AddressIndexPrimaryKeyIterator.AddressIndexPrimaryKeyIterator(Table table, int indexCol, AddressMap addrMap, Address start, boolean before) Constructs a new AddressIndexPrimaryKeyIterator starting at a given address.AddressIndexPrimaryKeyIterator(Table table, int indexCol, AddressMap addrMap, Address minAddr, Address maxAddr, boolean atStart) Constructs a new AddressIndexPrimaryKeyIterator for a range of addresses.AddressIndexPrimaryKeyIterator(Table table, int indexCol, AddressMap addrMap, AddressSetView set, boolean atStart) Constructs a new AddressIndexPrimaryKeyIterator for a set of addresses. -
Method Summary
Modifier and TypeMethodDescriptionbooleandelete()Delete the last record(s) associated with the last Field value read via the next or previous methods.booleanhasNext()Return true if a Field is available in the forward direction.booleanReturn true if a Field is available in the reverse directionnext()Return the next Field value or null if one is not available.previous()Return the previous Field value or null if one is not available.
-
Constructor Details
-
AddressIndexPrimaryKeyIterator
public AddressIndexPrimaryKeyIterator()Empty iterator constructor -
AddressIndexPrimaryKeyIterator
public AddressIndexPrimaryKeyIterator(Table table, int indexCol, AddressMap addrMap, boolean atStart) throws IOException Constructs a new AddressIndexPrimaryKeyIterator. Memory addresses encoded as Absolute are not included.- Parameters:
table- the database table containing indexed addresses.indexCol- the column that contains indexed addresses.addrMap- the address mapatStart- if true, iterates forward, otherwise iterates backwards.- Throws:
IOException- if a database io error occurs.
-
AddressIndexPrimaryKeyIterator
public AddressIndexPrimaryKeyIterator(Table table, int indexCol, AddressMap addrMap, Address minAddr, Address maxAddr, boolean atStart) throws IOException Constructs a new AddressIndexPrimaryKeyIterator for a range of addresses. Memory addresses encoded as Absolute are not included.- Parameters:
table- the database table containing indexed addresses.indexCol- the column that contains indexed addresses.addrMap- the address mapminAddr- the first address in the range to iterate over.maxAddr- the last address in the range to iterator over.atStart- if true, iterates forward, otherwise iterates backwards.- Throws:
IOException- if a database io error occurs.
-
AddressIndexPrimaryKeyIterator
public AddressIndexPrimaryKeyIterator(Table table, int indexCol, AddressMap addrMap, AddressSetView set, boolean atStart) throws IOException Constructs a new AddressIndexPrimaryKeyIterator for a set of addresses. Memory addresses encoded as Absolute are not included.- Parameters:
table- the database table containing indexed addresses.indexCol- the column that contains indexed addresses.addrMap- the address mapset- the set of addresses to iterator over.atStart- if true, iterates forward, otherwise iterates backwards.- Throws:
IOException- if a database io error occurs.
-
AddressIndexPrimaryKeyIterator
public AddressIndexPrimaryKeyIterator(Table table, int indexCol, AddressMap addrMap, Address start, boolean before) throws IOException Constructs a new AddressIndexPrimaryKeyIterator starting at a given address. Memory addresses encoded as Absolute are not included.- Parameters:
table- the database table containing indexed addresses.indexCol- the column that contains indexed addresses.addrMap- the address mapstart- the starting address for the iterator.before- if true, positions the iterator before start, otherwise positions it after start.- Throws:
IOException- if a database io error occurs.
-
-
Method Details
-
hasNext
Description copied from interface:DBFieldIteratorReturn true if a Field is available in the forward direction.- Specified by:
hasNextin interfaceDBFieldIterator- Throws:
IOException- thrown if an IO error occurs
-
hasPrevious
Description copied from interface:DBFieldIteratorReturn true if a Field is available in the reverse direction- Specified by:
hasPreviousin interfaceDBFieldIterator- Throws:
IOException- thrown if an IO error occurs
-
next
Description copied from interface:DBFieldIteratorReturn the next Field value or null if one is not available.- Specified by:
nextin interfaceDBFieldIterator- Throws:
IOException- thrown if an IO error occurs
-
previous
Description copied from interface:DBFieldIteratorReturn the previous Field value or null if one is not available.- Specified by:
previousin interfaceDBFieldIterator- Throws:
IOException- thrown if an IO error occurs
-
delete
Description copied from interface:DBFieldIteratorDelete the last record(s) associated with the last Field value read via the next or previous methods.- Specified by:
deletein interfaceDBFieldIterator- Returns:
- true if record(s) was successfully deleted.
- Throws:
IOException- thrown if an IO error occurs.
-