Class DBTraceAddressSnapRangePropertyMapTree<T,DR extends DBTraceAddressSnapRangePropertyMapTree.AbstractDBTraceAddressSnapRangePropertyMapData<T>>
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classstatic classNested classes/interfaces inherited from class ghidra.util.database.spatial.rect.Abstract2DRStarTree
Abstract2DRStarTree.AsSpatialMap<DS extends BoundedShape<NS>,DR extends DBTreeDataRecord<DS, NS, T>, NS extends Rectangle2D<?, ?, NS>, T, Q extends AbstractRectangle2DQuery<?, ?, DS, NS, Q>> Nested classes/interfaces inherited from class ghidra.util.database.spatial.AbstractRStarConstraintsTree
AbstractRStarConstraintsTree.LeastAreaEnlargementThenLeastArea, AbstractRStarConstraintsTree.LeastDistanceFromCenterToPoint, AbstractRStarConstraintsTree.LevelInfoNested classes/interfaces inherited from class ghidra.util.database.spatial.AbstractConstraintsTree
AbstractConstraintsTree.TreeRecordVisitor, AbstractConstraintsTree.VisitResult -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final DBCachedObjectIndex<Long, DR> protected final DBTraceAddressSnapRangePropertyMap.DBTraceAddressSnapRangePropertyMapDataFactory<T, DR> protected final Comparator<TraceAddressSnapRange> protected final DBTraceAddressSnapRangePropertyMapSpace<T, DR> protected static final intprotected final DBCachedObjectIndex<Long, DBTraceAddressSnapRangePropertyMapTree.DBTraceAddressSnapRangePropertyMapNode> Fields inherited from class ghidra.util.database.spatial.rect.Abstract2DRStarTree
axes, spaceFields inherited from class ghidra.util.database.spatial.AbstractRStarConstraintsTree
CHEAT_OVERLAP_COUNT, FILL_RATE, MAX_LEVELS, maxChildren, minChildren, REINSERT_RATE, reinsertCountFields inherited from class ghidra.util.database.spatial.AbstractConstraintsTree
cachedDataChildren, cachedNodeChildren, dataStore, leafLevel, nodeStore, root -
Constructor Summary
ConstructorsConstructorDescriptionDBTraceAddressSnapRangePropertyMapTree(DBCachedObjectStoreFactory storeFactory, String tableName, DBTraceAddressSnapRangePropertyMapSpace<T, DR> space, Class<DR> dataType, DBTraceAddressSnapRangePropertyMap.DBTraceAddressSnapRangePropertyMapDataFactory<T, DR> dataFactory, boolean upgradable) -
Method Summary
Modifier and TypeMethodDescriptionprotected DRcreateDataEntry(DBCachedObjectStore<DR> store, DBRecord record) createNodeEntry(DBCachedObjectStore<DBTraceAddressSnapRangePropertyMapTree.DBTraceAddressSnapRangePropertyMapNode> store, DBRecord record) protected voiddoDeleteEntry(DR data) protected voiddoInsertDataEntry(DR entry) protected voiddoUnparentEntry(DR data) Remove a data record from the tree, but keep the orphaned record in the tableprotected Collection<DR> getDataChildrenOf(long parentKey) For leaf nodes, get the children.protected Comparator<TraceAddressSnapRange> protected Rectangle2DDirectiongetNodeChildrenOf(long parentKey) For non-leaf nodes, get the children.Methods inherited from class ghidra.util.database.spatial.rect.Abstract2DRStarTree
asSpatialMap, getShapeSpace, getSplitAxesMethods inherited from class ghidra.util.database.spatial.AbstractRStarConstraintsTree
checkNodeIntegrity, computeOverlap, doChooseSplitAxis, doChooseSplitIndex, doChooseSubtree, doInsert, doInsertData, doOverflowTreatment, doReInsert, doSplit, findChildByMinimumEnlargementCost, findChildByNearlyMinimumOverlapCostMethods inherited from class ghidra.util.database.spatial.AbstractConstraintsTree
checkDataIntegrity, checkIntegrity, clear, computeLeafLevel, count, destroySubtree, doAddToCachedChildren, doDecrementDataCount, doFindExact, doRecomputeBounds, doRemoveData, doRemoveFromCachedChildren, doSetParentKey, doUpdateOrDeleteAlongPath, dump, first, getChildrenOf, getDataByKey, getDataChildrenOf, getNodeChildrenOf, getOrCreateRoot, getParentOf, getUserIndex, init, invalidateCache, isEmpty, iterator, iterator, orderedIterator, resyncMetadata, unionStream, visit, visit, visitAllData
-
Field Details
-
MAX_CHILDREN
protected static final int MAX_CHILDREN- See Also:
-
dataFactory
-
mapSpace
protected final DBTraceAddressSnapRangePropertyMapSpace<T,DR extends DBTraceAddressSnapRangePropertyMapTree.AbstractDBTraceAddressSnapRangePropertyMapData<T>> mapSpace -
nodesByParent
protected final DBCachedObjectIndex<Long,DBTraceAddressSnapRangePropertyMapTree.DBTraceAddressSnapRangePropertyMapNode> nodesByParent -
dataByParent
protected final DBCachedObjectIndex<Long,DR extends DBTraceAddressSnapRangePropertyMapTree.AbstractDBTraceAddressSnapRangePropertyMapData<T>> dataByParent -
leftmostComparator
-
-
Constructor Details
-
DBTraceAddressSnapRangePropertyMapTree
public DBTraceAddressSnapRangePropertyMapTree(DBCachedObjectStoreFactory storeFactory, String tableName, DBTraceAddressSnapRangePropertyMapSpace<T, DR> space, Class<DR> dataType, DBTraceAddressSnapRangePropertyMap.DBTraceAddressSnapRangePropertyMapDataFactory<T, throws VersionException, IOExceptionDR> dataFactory, boolean upgradable) - Throws:
VersionExceptionIOException
-
-
Method Details
-
getDefaultBoundsComparator
- Specified by:
getDefaultBoundsComparatorin classAbstractConstraintsTree<TraceAddressSnapRange,DR extends DBTraceAddressSnapRangePropertyMapTree.AbstractDBTraceAddressSnapRangePropertyMapData<T>, TraceAddressSnapRange, DBTraceAddressSnapRangePropertyMapTree.DBTraceAddressSnapRangePropertyMapNode, T, DBTraceAddressSnapRangePropertyMapTree.TraceAddressSnapRangeQuery>
-
createDataEntry
- Specified by:
createDataEntryin classAbstractConstraintsTree<TraceAddressSnapRange,DR extends DBTraceAddressSnapRangePropertyMapTree.AbstractDBTraceAddressSnapRangePropertyMapData<T>, TraceAddressSnapRange, DBTraceAddressSnapRangePropertyMapTree.DBTraceAddressSnapRangePropertyMapNode, T, DBTraceAddressSnapRangePropertyMapTree.TraceAddressSnapRangeQuery>
-
createNodeEntry
protected DBTraceAddressSnapRangePropertyMapTree.DBTraceAddressSnapRangePropertyMapNode createNodeEntry(DBCachedObjectStore<DBTraceAddressSnapRangePropertyMapTree.DBTraceAddressSnapRangePropertyMapNode> store, DBRecord record) - Specified by:
createNodeEntryin classAbstractConstraintsTree<TraceAddressSnapRange,DR extends DBTraceAddressSnapRangePropertyMapTree.AbstractDBTraceAddressSnapRangePropertyMapData<T>, TraceAddressSnapRange, DBTraceAddressSnapRangePropertyMapTree.DBTraceAddressSnapRangePropertyMapNode, T, DBTraceAddressSnapRangePropertyMapTree.TraceAddressSnapRangeQuery>
-
getDirectionOf
protected Rectangle2DDirection getDirectionOf(DBTraceAddressSnapRangePropertyMapTree.TraceAddressSnapRangeQuery query) -
getNodeChildrenOf
protected Collection<DBTraceAddressSnapRangePropertyMapTree.DBTraceAddressSnapRangePropertyMapNode> getNodeChildrenOf(long parentKey) Description copied from class:AbstractConstraintsTreeFor non-leaf nodes, get the children.For leaf nodes, the behavior is undefined. Note that the query should not filter the children, only order them. Filtering is performed by
AbstractConstraintsTree<DS extends BoundedShape<NS>,.DR extends DBTreeDataRecord<DS, NS, T>, NS extends BoundingShape<NS>, NR extends DBTreeNodeRecord<NS>, T, Q extends Query<DS, NS>>.TreeRecordVisitor - Specified by:
getNodeChildrenOfin classAbstractConstraintsTree<TraceAddressSnapRange,DR extends DBTraceAddressSnapRangePropertyMapTree.AbstractDBTraceAddressSnapRangePropertyMapData<T>, TraceAddressSnapRange, DBTraceAddressSnapRangePropertyMapTree.DBTraceAddressSnapRangePropertyMapNode, T, DBTraceAddressSnapRangePropertyMapTree.TraceAddressSnapRangeQuery> - Parameters:
parentKey- the key of the parent whose children to get- Returns:
- an iterable of the children
-
getDataChildrenOf
Description copied from class:AbstractConstraintsTreeFor leaf nodes, get the children.For non-leaf nodes, the behavior is undefined. Note that the query should not filter the children, only order them, or else the collection will return an incorrect
Collection.size(). Filtering is performed byAbstractConstraintsTree<DS extends BoundedShape<NS>,.DR extends DBTreeDataRecord<DS, NS, T>, NS extends BoundingShape<NS>, NR extends DBTreeNodeRecord<NS>, T, Q extends Query<DS, NS>>.TreeRecordVisitor - Specified by:
getDataChildrenOfin classAbstractConstraintsTree<TraceAddressSnapRange,DR extends DBTraceAddressSnapRangePropertyMapTree.AbstractDBTraceAddressSnapRangePropertyMapData<T>, TraceAddressSnapRange, DBTraceAddressSnapRangePropertyMapTree.DBTraceAddressSnapRangePropertyMapNode, T, DBTraceAddressSnapRangePropertyMapTree.TraceAddressSnapRangeQuery> - Parameters:
parentKey- the key of the parent whose children to get- Returns:
- an iterable of the children
-
doUnparentEntry
Description copied from class:AbstractConstraintsTreeRemove a data record from the tree, but keep the orphaned record in the tableNote that at most one orphaned record should be in the table at any time, otherwise behavior is undefined. It is up to the implementor to provide a means of inserting orphaned data records back into the tree. This is useful for implementations which allow a data record's shape to be mutated: Orphan the record, adjust its shape, re-insert the orphan.
- Overrides:
doUnparentEntryin classAbstractConstraintsTree<TraceAddressSnapRange,DR extends DBTraceAddressSnapRangePropertyMapTree.AbstractDBTraceAddressSnapRangePropertyMapData<T>, TraceAddressSnapRange, DBTraceAddressSnapRangePropertyMapTree.DBTraceAddressSnapRangePropertyMapNode, T, DBTraceAddressSnapRangePropertyMapTree.TraceAddressSnapRangeQuery> - Parameters:
data- the data record
-
doDeleteEntry
- Overrides:
doDeleteEntryin classAbstractConstraintsTree<TraceAddressSnapRange,DR extends DBTraceAddressSnapRangePropertyMapTree.AbstractDBTraceAddressSnapRangePropertyMapData<T>, TraceAddressSnapRange, DBTraceAddressSnapRangePropertyMapTree.DBTraceAddressSnapRangePropertyMapNode, T, DBTraceAddressSnapRangePropertyMapTree.TraceAddressSnapRangeQuery>
-
doInsertDataEntry
-
getMapSpace
-