O
- the type of DatabaseObject to be stored in the M-TreeD
- the type of Distance used in the M-TreeN
- the type of AbstractMTreeNode used in the M-TreeE
- the type of MetricalEntry used in the M-Treepublic abstract class AbstractMTreeNode<O,D extends NumberDistance<D,?>,N extends AbstractMTreeNode<O,D,N,E>,E extends MTreeEntry> extends AbstractNode<E>
entries, isLeaf, numEntries
Constructor and Description |
---|
AbstractMTreeNode()
Empty constructor for Externalizable interface.
|
AbstractMTreeNode(int capacity,
boolean isLeaf,
Class<? super E> eclass)
Creates a new MTreeNode with the specified parameters.
|
Modifier and Type | Method and Description |
---|---|
void |
adjustEntry(E entry,
DBID routingObjectID,
double parentDistance,
AbstractMTree<O,D,N,E,?> mTree)
Adjusts the parameters of the entry representing this node (e.g. after
insertion of new objects).
|
double |
coveringRadius(DBID routingObjectID,
AbstractMTree<O,D,N,E,?> mTree)
Determines and returns the covering radius of this node.
|
void |
integrityCheck(AbstractMTree<O,D,N,E,?> mTree,
E entry)
Tests this node (for debugging purposes).
|
protected void |
integrityCheckParameters(E parentEntry,
N parent,
int index,
AbstractMTree<O,D,N,E,?> mTree)
Tests, if the parameters of the entry representing this node, are correctly
set.
|
addDirectoryEntry, addLeafEntry, children, deleteAllEntries, deleteEntry, equals, getCapacity, getEntries, getEntry, getNumEntries, isLeaf, readExternal, removeMask, splitByMask, splitTo, splitTo, toString, writeExternal
getPageID, hashCode, isDirty, setDirty, setPageID
public AbstractMTreeNode()
public AbstractMTreeNode(int capacity, boolean isLeaf, Class<? super E> eclass)
capacity
- the capacity (maximum number of entries plus 1 for
overflow) of this nodeisLeaf
- indicates whether this node is a leaf nodeeclass
- Entry class, to initialize array storagepublic void adjustEntry(E entry, DBID routingObjectID, double parentDistance, AbstractMTree<O,D,N,E,?> mTree)
entry
- the entry representing this noderoutingObjectID
- the id of the (new) routing object of this nodeparentDistance
- the distance from the routing object of this node to
the routing object of the parent nodemTree
- the M-Tree object holding this nodepublic double coveringRadius(DBID routingObjectID, AbstractMTree<O,D,N,E,?> mTree)
routingObjectID
- the object id of the routing object of this nodemTree
- the M-Treepublic final void integrityCheck(AbstractMTree<O,D,N,E,?> mTree, E entry)
mTree
- the M-Tree holding this nodeentry
- the entry representing this nodeprotected void integrityCheckParameters(E parentEntry, N parent, int index, AbstractMTree<O,D,N,E,?> mTree)
parentEntry
- the entry representing the parentparent
- the parent holding the entry representing this nodeindex
- the index of the entry in the parents child arrymTree
- the M-Tree holding this node