Environment for
DeveLoping
KDD-Applications
Supported by Index-Structures

de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.mtree
Class MTreeNode<O extends DatabaseObject,D extends Distance<D>>

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.logging.AbstractLoggable
      extended by de.lmu.ifi.dbs.elki.persistent.AbstractPage<N>
          extended by de.lmu.ifi.dbs.elki.index.tree.AbstractNode<N,E>
              extended by de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.AbstractMTreeNode<O,D,MTreeNode<O,D>,MTreeEntry<D>>
                  extended by de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.mtree.MTreeNode<O,D>
All Implemented Interfaces:
MetricalNode<MTreeNode<O,D>,MTreeEntry<D>>, Node<MTreeNode<O,D>,MTreeEntry<D>>, Loggable, Page<MTreeNode<O,D>>, Externalizable, Serializable

public class MTreeNode<O extends DatabaseObject,D extends Distance<D>>
extends AbstractMTreeNode<O,D,MTreeNode<O,D>,MTreeEntry<D>>

Represents a node in an M-Tree.

Author:
Elke Achtert
See Also:
Serialized Form

Field Summary
 
Fields inherited from class de.lmu.ifi.dbs.elki.logging.AbstractLoggable
debug
 
Constructor Summary
MTreeNode()
          Empty constructor for Externalizable interface.
MTreeNode(PageFile<MTreeNode<O,D>> file, int capacity, boolean isLeaf)
          Creates a new MTreeNode with the specified parameters.
 
Method Summary
protected  MTreeNode<O,D> createNewDirectoryNode(int capacity)
          Creates a new directory node with the specified capacity.
protected  MTreeNode<O,D> createNewLeafNode(int capacity)
          Creates a new leaf node with the specified capacity.
 
Methods inherited from class de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.AbstractMTreeNode
adjustEntry, coveringRadius, splitEntries, test, test
 
Methods inherited from class de.lmu.ifi.dbs.elki.index.tree.AbstractNode
addDirectoryEntry, addLeafEntry, children, deleteAllEntries, deleteEntry, equals, getCapacity, getEntries, getEntry, getNumEntries, increaseEntries, isLeaf, readExternal, toString, writeExternal
 
Methods inherited from class de.lmu.ifi.dbs.elki.persistent.AbstractPage
getFile, getID, hashCode, isDirty, setDirty, setFile, setID
 
Methods inherited from class de.lmu.ifi.dbs.elki.logging.AbstractLoggable
debugFine, debugFiner, debugFinest, exception, message, progress, progress, progress, verbose, verbose, warning
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface de.lmu.ifi.dbs.elki.index.tree.Node
addDirectoryEntry, addLeafEntry, children, getEntry, getNumEntries, isLeaf
 
Methods inherited from interface de.lmu.ifi.dbs.elki.persistent.Page
getID, isDirty, setDirty, setFile, setID
 
Methods inherited from interface java.io.Externalizable
readExternal, writeExternal
 

Constructor Detail

MTreeNode

public MTreeNode()
Empty constructor for Externalizable interface.


MTreeNode

public MTreeNode(PageFile<MTreeNode<O,D>> file,
                 int capacity,
                 boolean isLeaf)
Creates a new MTreeNode with the specified parameters.

Parameters:
file - the file storing the M-Tree
capacity - the capacity (maximum number of entries plus 1 for overflow) of this node
isLeaf - indicates wether this node is a leaf node
Method Detail

createNewLeafNode

protected MTreeNode<O,D> createNewLeafNode(int capacity)
Creates a new leaf node with the specified capacity. Subclasses have to overwrite this method.

Specified by:
createNewLeafNode in class AbstractNode<MTreeNode<O extends DatabaseObject,D extends Distance<D>>,MTreeEntry<D extends Distance<D>>>
Parameters:
capacity - the capacity of the new node
Returns:
a new leaf node

createNewDirectoryNode

protected MTreeNode<O,D> createNewDirectoryNode(int capacity)
Creates a new directory node with the specified capacity. Subclasses have to overwrite this method.

Specified by:
createNewDirectoryNode in class AbstractNode<MTreeNode<O extends DatabaseObject,D extends Distance<D>>,MTreeEntry<D extends Distance<D>>>
Parameters:
capacity - the capacity of the new node
Returns:
a new directory node

Release 0.1 (2008-07-10_1838)