com.pnfsoftware.jeb.core.units.IAddressableUnit |
Known Indirect Subclasses
AbstractCodeUnit,
AbstractInteractiveBinaryUnit,
AbstractInteractiveUnit,
ICodeUnit,
IDalvikDebuggerUnit,
IDebuggerUnit,
IDecompilerUnit,
IDexDecompilerUnit,
IDexUnit,
IInteractiveUnit,
IJavaSourceUnit,
INativeCodeUnit<InsnType extends IInstruction>,
INativeDebuggerUnit,
INativeDecompilerUnit<InsnType extends IInstruction>,
INativeSourceUnit,
ISourceUnit,
IXmlUnit,
InteractiveWrapperUnit
|
Addressable units allow the retrieval of unit objects via object identifiers and addresses.
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
abstract String |
getAddressLabel(String address)
Retrieve the label at a given address.
| ||||||||||
abstract Map<String, String> |
getAddressLabels()
Retrieve all labels.
| ||||||||||
abstract String |
getAddressOfItem(long id)
Attempt to determine the best address for a given item.
| ||||||||||
abstract String |
getCanonicalAddress(String address)
Convert the provided address to its canonical form.
| ||||||||||
abstract long |
getItemAtAddress(String address)
Attempt to determine the best item for a given address.
| ||||||||||
abstract Object |
getItemObject(long id)
Optionally provide an object associated with the given item.
| ||||||||||
abstract List<Long> |
getRelatedItems(long id)
Retrieve items related to the provided item id.
| ||||||||||
abstract Collection<String> |
getWellKnownAddresses(int maxCount, Predicate<String> validator)
Retrieve a collection of valid unit addresses.
| ||||||||||
abstract boolean |
isValidAddress(String address)
Determine if the provided address is a valid address for this unit.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From interface
com.pnfsoftware.jeb.core.IUnitCreator
| |||||||||||
From interface
com.pnfsoftware.jeb.core.IUserDataSupport
| |||||||||||
From interface
com.pnfsoftware.jeb.core.units.IUnit
| |||||||||||
From interface
com.pnfsoftware.jeb.util.events.IEventSource
|
Retrieve the label at a given address. The default implementation returns null.
address | mandatory address |
---|
Retrieve all labels. The default implementation returns an empty map.
Attempt to determine the best address for a given item. Implementors may return null if a conversion is deemed impossible, inaccurate or irrelevant.
Clients use this method to provide navigation capability, for example, jumping from an item to the master (main) related item, that would be located at the resulting address.
Plugin developers are recommended to implement this method.
id | the item id |
---|
Convert the provided address to its canonical form. If the canonical form cannot be determined, the method is allowed to return the provided address.
Attempt to determine the best item for a given address. Implementors may return 0 if a conversion is deemed impossible, inaccurate or irrelevant.
address | the address |
---|
Optionally provide an object associated with the given item. This method may return null, an opaque object, or an object defined by the contract of the implementing object or sub-interface. The SPI of sub-interfaces should specify the item id formats, if any, as well as types and semantics associated with the objects returned by this method.
id | the item id |
---|
Retrieve items related to the provided item id. The definition and context of 'relation' is implementation dependent.
id | an item id |
---|
Retrieve a collection of valid unit addresses.
maxCount | optional maximum count of entries to return; use -1 to remove the cap |
---|---|
validator | optional validator; only addresses that pass the test will be retrieved |
Determine if the provided address is a valid address for this unit.