Class ObjectPropertyMapDB
- java.lang.Object
- 
- ghidra.program.database.properties.PropertyMapDB
- 
- ghidra.program.database.properties.ObjectPropertyMapDB
 
 
- 
- All Implemented Interfaces:
- ObjectPropertyMap,- PropertyMap
 
 public class ObjectPropertyMapDB extends PropertyMapDB implements ObjectPropertyMap 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.PropertyMapDBaddrMap, cache, changeMgr, dbHandle, DEFAULT_CACHE_SIZE, errHandler, lock, name, NO_SCHEMA_FIELD_CLASSES, NO_SCHEMA_FIELD_NAMES, PROPERTY_VALUE_COL, propertyTable, schema, SCHEMA_FIELD_NAMES
 
- 
 - 
Constructor SummaryConstructors Constructor Description ObjectPropertyMapDB(DBHandle dbHandle, int openMode, ErrorHandler errHandler, ChangeManager changeMgr, AddressMap addrMap, java.lang.String name, java.lang.Class<? extends Saveable> saveableObjectClass, TaskMonitor monitor, boolean supportsPrivate)Construct an Saveable object property map.
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(Address addr, Saveable value)Add an object value at the specified address.voidapplyValue(PropertyVisitor visitor, Address addr)Applies a property value at the indicated address without knowing its type (String, int, long, etc.) by using the property visitor.protected voidcreateTable()Create the necessary table(s) to support this property.java.lang.ObjectgetObject(Address addr)Returns the property value stored at the specified address or null if no property found.java.lang.Class<?>getObjectClass()Returns Saveable object class.protected java.lang.Class<?>getPropertyFieldClass()NOTE: Custom schema is utilized.static java.lang.Class<? extends Saveable>getSaveableClassForName(java.lang.String classPath)Returns the class for the indicated class path name.- 
Methods inherited from class ghidra.program.database.properties.PropertyMapDBcreateTable, 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, setCacheSize
 - 
Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 - 
Methods inherited from interface ghidra.program.model.util.PropertyMapgetFirstPropertyAddress, getLastPropertyAddress, getName, getNextPropertyAddress, getPreviousPropertyAddress, getPropertyIterator, getPropertyIterator, getPropertyIterator, getPropertyIterator, getPropertyIterator, getPropertyIterator, getSize, hasProperty, intersects, intersects, moveRange, remove, removeRange
 
- 
 
- 
- 
- 
Constructor Detail- 
ObjectPropertyMapDBpublic ObjectPropertyMapDB(DBHandle dbHandle, int openMode, ErrorHandler errHandler, ChangeManager changeMgr, AddressMap addrMap, java.lang.String name, java.lang.Class<? extends Saveable> saveableObjectClass, TaskMonitor monitor, boolean supportsPrivate) throws VersionException, CancelledException, java.io.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 notification
- addrMap- address map.
- name- property name.
- monitor- progress monitor that is only used when upgrading
- Throws:
- CancelledException- if the user cancels the upgrade operation.
- java.io.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 Detail- 
getSaveableClassForNamepublic static java.lang.Class<? extends Saveable> getSaveableClassForName(java.lang.String classPath) 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.
 
 - 
addpublic void add(Address addr, Saveable value) Description copied from interface:ObjectPropertyMapAdd an object value at the specified address.- Specified by:
- addin interface- ObjectPropertyMap
- Parameters:
- addr- address for the property
- value- value of the property
- See Also:
- ObjectPropertyMap.add(ghidra.program.model.address.Address, ghidra.util.Saveable)
 
 - 
getObjectClasspublic java.lang.Class<?> getObjectClass() Description copied from interface:ObjectPropertyMapReturns Saveable object class.- Specified by:
- getObjectClassin interface- ObjectPropertyMap
- See Also:
- ObjectPropertyMap.getObjectClass()
 
 - 
getObjectpublic java.lang.Object getObject(Address addr) Description copied from interface:PropertyMapReturns the property value stored at the specified address or null if no property found.- Specified by:
- getObjectin interface- PropertyMap
- Parameters:
- addr- property address
- Returns:
- property value
- See Also:
- PropertyMap.getObject(ghidra.program.model.address.Address)
 
 - 
applyValuepublic void applyValue(PropertyVisitor visitor, Address addr) Description copied from interface:PropertyMapApplies a property value at the indicated address without knowing its type (String, int, long, etc.) by using the property visitor.- Specified by:
- applyValuein interface- PropertyMap
- Parameters:
- visitor- the property visitor that lets you apply the property without knowing its specific type ahead of time.
- addr- the address where the property is to be applied.
- See Also:
- PropertyMap.applyValue(ghidra.util.prop.PropertyVisitor, ghidra.program.model.address.Address)
 
 - 
getPropertyFieldClassprotected java.lang.Class<?> getPropertyFieldClass() NOTE: Custom schema is utilized.- See Also:
- ghidra.program.database.properties.PropertyMapDB#getPropertyFieldClass()
 
 - 
createTableprotected void createTable() Create the necessary table(s) to support this property. Schema will vary depending upon Saveable object.
 
- 
 
-