Package ghidra.util.prop
Class SaveableObjectPropertySet
- java.lang.Object
-
- ghidra.util.prop.PropertySet
-
- ghidra.util.prop.SaveableObjectPropertySet
-
- All Implemented Interfaces:
java.io.Serializable
public class SaveableObjectPropertySet extends PropertySet
Handles general storage and retrieval of saveable objects indexed by long keys.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class ghidra.util.prop.PropertySet
noValueException, numProperties, pageSize, propertyPageIndex
-
-
Constructor Summary
Constructors Constructor Description SaveableObjectPropertySet(java.lang.String name, java.lang.Class<?> objectClass)Constructor for SaveableObjectPropertySet.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidapplyValue(PropertyVisitor visitor, long addr)Based upon the type of property manager that this is, the appropriate visit() method will be called within the PropertyVisitor.intgetDataSize()Returns the size (in bytes) of the data that is stored in this property set.SaveablegetObject(long index)Retrieves the saveable object stored at the given index.protected voidmoveIndex(long from, long to)voidputObject(long index, Saveable value)Stores a saveable object at the given index.protected voidrestoreProperty(java.io.ObjectInputStream ois, long index)restores the property from the input stream to the given index.protected voidsaveProperty(java.io.ObjectOutputStream oos, long index)saves the property at the given index to the given output stream.-
Methods inherited from class ghidra.util.prop.PropertySet
getFirstPropertyIndex, getIndex, getLastPropertyIndex, getName, getNextPropertyIndex, getObjectClass, getOrCreatePage, getPage, getPageID, getPageOffset, getPreviousPropertyIndex, getPropertyIterator, getPropertyIterator, getPropertyIterator, getPropertyIterator, getPropertyIterator, getSize, hasProperty, intersects, moveRange, remove, removeRange, restoreAll, restoreProperties, saveAll, saveProperties
-
-
-
-
Method Detail
-
getDataSize
public int getDataSize()
Description copied from class:PropertySetReturns the size (in bytes) of the data that is stored in this property set.- Specified by:
getDataSizein classPropertySet- Returns:
- the size (in bytes) of the data that is stored in this property set.
- See Also:
PropertySet.getDataSize()
-
putObject
public void putObject(long index, Saveable value)Stores a saveable object at the given index. Any object currently at that index will be replaced by the new object.- Parameters:
index- the index at which to store the saveable object.value- the saveable object to store.
-
getObject
public Saveable getObject(long index)
Retrieves the saveable object stored at the given index.- Parameters:
index- the index at which to retrieve the saveable object.- Returns:
- the saveable object stored at the given index or null if no object is stored at the index.
-
moveIndex
protected void moveIndex(long from, long to)- Specified by:
moveIndexin classPropertySet
-
saveProperty
protected void saveProperty(java.io.ObjectOutputStream oos, long index) throws java.io.IOExceptionsaves the property at the given index to the given output stream.- Specified by:
savePropertyin classPropertySet- Throws:
java.io.IOException
-
restoreProperty
protected void restoreProperty(java.io.ObjectInputStream ois, long index) throws java.io.IOException, java.lang.ClassNotFoundExceptionrestores the property from the input stream to the given index.- Specified by:
restorePropertyin classPropertySet- Throws:
java.io.IOExceptionjava.lang.ClassNotFoundException
-
applyValue
public void applyValue(PropertyVisitor visitor, long addr)
Description copied from class:PropertySetBased upon the type of property manager that this is, the appropriate visit() method will be called within the PropertyVisitor.- Specified by:
applyValuein classPropertySet- Parameters:
visitor- object implementing the PropertyVisitor interface.addr- the address of where to visit (get) the property.- See Also:
PropertySet.applyValue(PropertyVisitor, long)
-
-