Class ObjectPropertyMapDB<T extends Saveable>
java.lang.Object
ghidra.program.database.properties.PropertyMapDB<T>
ghidra.program.database.properties.ObjectPropertyMapDB<T>
- Type Parameters:
T-Saveableproperty value type
- All Implemented Interfaces:
ObjectPropertyMap<T>,PropertyMap<T>
public class ObjectPropertyMapDB<T extends Saveable>
extends PropertyMapDB<T>
implements ObjectPropertyMap<T>
Property manager that deals with properties that are of
a
Saveable Object type and store within a database table.-
Field Summary
Fields inherited from class ghidra.program.database.properties.PropertyMapDB
addrMap, cache, changeMgr, dbHandle, DEFAULT_CACHE_SIZE, errHandler, lock, name, NO_SCHEMA_FIELD_NAMES, NO_SCHEMA_FIELDS, PROPERTY_VALUE_COL, propertyTable, schema, SCHEMA_FIELD_NAMES -
Constructor Summary
ConstructorsChangeConstructorDescriptionObjectPropertyMapDB(DBHandle dbHandle, int openMode, ErrorHandler errHandler, ChangeManager changeMgr, AddressMap addrMap, String name, Class<T> saveableObjectClass, TaskMonitor monitor, boolean supportsPrivate) Construct an Saveable object property map. -
Method Summary
ChangeModifier and TypeMethodDescriptionNEWvoidAdd an object value at the specified address.protected voidCreate the necessary table(s) to support this property.NEWReturns the property value stored at the specified address or null if no property found.getSaveableClassForName(String classPath) Returns the class for the indicated class path name.NEWReturns property value class.REMOVEDvoidadd(Address addr, Saveable value) RemovedREMOVEDClass<?>RemovedREMOVEDObjectgetObject(Address addr) RemovedREMOVEDvoidapplyValue(PropertyVisitor visitor, Address addr) RemovedREMOVEDClass<?>RemovedMethods inherited from class ghidra.program.database.properties.PropertyMapDB
createTable, delete, getAddressKeyIterator, getAddressKeyIterator, getAddressKeyIterator, getFirstPropertyAddress, getLastPropertyAddress, getName, getNextPropertyAddress, getPreviousPropertyAddress, getPropertyIterator, getPropertyIterator, getPropertyIterator, getPropertyIterator, getPropertyIterator, getPropertyIterator, getSize, getTableName, getTableName, hasProperty, intersects, intersects, invalidateCache, moveRange, remove, removeRange, setCacheSizeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ghidra.program.model.util.ObjectPropertyMap
addMethods inherited from interface ghidra.program.model.util.PropertyMap
getFirstPropertyAddress, getLastPropertyAddress, getName, getNextPropertyAddress, getPreviousPropertyAddress, getPropertyIterator, getPropertyIterator, getPropertyIterator, getPropertyIterator, getPropertyIterator, getPropertyIterator, getSize, hasProperty, intersects, intersects, moveRange, remove, removeRange
-
Constructor Details
-
ObjectPropertyMapDB
public ObjectPropertyMapDB(DBHandle dbHandle, int openMode, ErrorHandler errHandler, ChangeManager changeMgr, AddressMap addrMap, String name, Class<T> saveableObjectClass, TaskMonitor monitor, boolean supportsPrivate) throws VersionException, CancelledException, IOException Construct an Saveable object property map.- Parameters:
dbHandle- database handle.openMode- the mode that the program was opened in.errHandler- database error handler.changeMgr- change manager for event notificationaddrMap- address map.name- property name.saveableObjectClass- saveable implementation classmonitor- progress monitor that is only used when upgradingsupportsPrivate- if private saveable changes should not be broadcast- Throws:
CancelledException- if the user cancels the upgrade operation.IOException- if a database io error occurs.VersionException- the map version is incompatible with the current Saveable object class version. This will never be thrown if upgrade is true.
-
-
Method Details
-
getSaveableClassForName
Returns the class for the indicated class path name. If the class can't be determined, the GenericSaveable class is returned.- Parameters:
classPath- the class path name of the desired class.- Returns:
- the class or a GenericSaveable.
-
add NEW
Description copied from interface:ObjectPropertyMapAdd an object value at the specified address.- Specified by:
addin interfaceObjectPropertyMap<T extends Saveable>- Parameters:
addr- address for the propertyvalue- value of the property
-
getValueClass NEW
Description copied from interface:PropertyMapReturns property value class.- Specified by:
getValueClassin interfacePropertyMap<T extends Saveable>- Returns:
- property value class or null for an unsupported map type
-
get NEW
Description copied from interface:PropertyMapReturns the property value stored at the specified address or null if no property found.- Specified by:
getin interfacePropertyMap<T extends Saveable>- Parameters:
addr- property address- Returns:
- property value
-
createTable
protected void createTable()Create the necessary table(s) to support this property. Schema will vary depending upon Saveable object.
-