org.neodatis.btree
Interface IBTreeNode
- All Superinterfaces:
- java.io.Serializable
- All Known Subinterfaces:
- IBTreeNodeMultipleValuesPerKey, IBTreeNodeOneValuePerKey
- All Known Implementing Classes:
- AbstractBTreeNode, BTreeNodeMultipleValuesPerKey, BTreeNodeSingleValuePerKey, InMemoryBTreeNodeMultipleValuesPerKey, InMemoryBTreeNodeSingleValuePerkey, ODBBTreeNodeMultiple, ODBBTreeNodeSingle
public interface IBTreeNode
- extends java.io.Serializable
The interface for btree node.
- Author:
- olivier
Method Summary |
void |
clear()
|
void |
deleteChildAt(int index)
|
java.lang.Object |
deleteKeyAndValueAt(int index,
boolean shiftChildren)
|
java.lang.Object |
deleteKeyForLeafNode(IKeyAndValue keyAndValue)
|
IBTreeNode |
extractRightPart()
|
IBTree |
getBTree()
|
IBTreeNode |
getChildAt(int index,
boolean throwExceptionIfNotExist)
|
java.lang.Object |
getChildIdAt(int childIndex,
boolean throwExceptionIfDoesNotExist)
|
int |
getDegree()
|
java.lang.Object |
getId()
|
IKeyAndValue |
getKeyAndValueAt(int index)
|
java.lang.Comparable |
getKeyAt(int index)
|
IBTreeNode |
getLastChild()
|
IKeyAndValue |
getLastKeyAndValue()
|
IBTreeNode |
getLastPositionChild()
|
int |
getMaxNbChildren()
|
IKeyAndValue |
getMedian()
|
int |
getNbChildren()
|
int |
getNbKeys()
|
IBTreeNode |
getParent()
|
java.lang.Object |
getParentId()
|
int |
getPositionOfKey(java.lang.Comparable key)
Returns the position of the key. |
java.lang.Object |
getValueAsObjectAt(int index)
|
boolean |
hasParent()
|
void |
incrementNbChildren()
|
void |
incrementNbKeys()
|
void |
insertKeyAndValue(java.lang.Comparable key,
java.lang.Object value)
|
boolean |
isFull()
|
boolean |
isLeaf()
|
void |
mergeWith(IBTreeNode node)
|
void |
moveChildFromTo(int sourceIndex,
int destinationIndex,
boolean throwExceptionIfDoesNotExist)
|
void |
removeKeyAndValueAt(int index)
|
void |
setBTree(IBTree btree)
|
void |
setChildAt(IBTreeNode child,
int index)
|
void |
setChildAt(IBTreeNode node,
int childIndex,
int indexDestination,
boolean throwExceptionIfDoesNotExist)
|
void |
setId(java.lang.Object id)
|
void |
setKeyAndValueAt(java.lang.Comparable key,
java.lang.Object value,
int index)
|
void |
setKeyAndValueAt(java.lang.Comparable key,
java.lang.Object value,
int index,
boolean shiftIfAlreadyExist,
boolean incrementNbKeys)
|
void |
setKeyAndValueAt(IKeyAndValue keyAndValue,
int index)
|
void |
setKeyAndValueAt(IKeyAndValue keyAndValue,
int index,
boolean shiftIfAlreadyExist,
boolean incrementNbKeys)
|
void |
setNbChildren(int nbChildren)
|
void |
setNbKeys(int nbKeys)
|
void |
setNullChildAt(int childIndex)
|
void |
setParent(IBTreeNode node)
|
isFull
boolean isFull()
isLeaf
boolean isLeaf()
getKeyAndValueAt
IKeyAndValue getKeyAndValueAt(int index)
getKeyAt
java.lang.Comparable getKeyAt(int index)
getValueAsObjectAt
java.lang.Object getValueAsObjectAt(int index)
getLastKeyAndValue
IKeyAndValue getLastKeyAndValue()
getChildAt
IBTreeNode getChildAt(int index,
boolean throwExceptionIfNotExist)
getLastChild
IBTreeNode getLastChild()
getLastPositionChild
IBTreeNode getLastPositionChild()
getParent
IBTreeNode getParent()
getParentId
java.lang.Object getParentId()
setKeyAndValueAt
void setKeyAndValueAt(java.lang.Comparable key,
java.lang.Object value,
int index)
setKeyAndValueAt
void setKeyAndValueAt(IKeyAndValue keyAndValue,
int index)
setKeyAndValueAt
void setKeyAndValueAt(java.lang.Comparable key,
java.lang.Object value,
int index,
boolean shiftIfAlreadyExist,
boolean incrementNbKeys)
setKeyAndValueAt
void setKeyAndValueAt(IKeyAndValue keyAndValue,
int index,
boolean shiftIfAlreadyExist,
boolean incrementNbKeys)
extractRightPart
IBTreeNode extractRightPart()
getMedian
IKeyAndValue getMedian()
setChildAt
void setChildAt(IBTreeNode node,
int childIndex,
int indexDestination,
boolean throwExceptionIfDoesNotExist)
setChildAt
void setChildAt(IBTreeNode child,
int index)
setNullChildAt
void setNullChildAt(int childIndex)
moveChildFromTo
void moveChildFromTo(int sourceIndex,
int destinationIndex,
boolean throwExceptionIfDoesNotExist)
incrementNbKeys
void incrementNbKeys()
incrementNbChildren
void incrementNbChildren()
getPositionOfKey
int getPositionOfKey(java.lang.Comparable key)
- Returns the position of the key. If the key does not exist in node,
returns the position where this key should be,multiplied by -1
or example for node of degree 3 : [1 89 452 789 - ],
calling getPositionOfKey(89) returns 2 (starts with 1)
calling getPositionOfKey(99) returns -2 (starts with 1),because the position should be done, but it does not exist so multiply by -1
his is used to know the child we should descend to!in this case the getChild(2).
- Parameters:
key
-
- Returns:
- The position of the key,as a negative number if key does not
exist, warning, the position starts with 1and not 0!
insertKeyAndValue
void insertKeyAndValue(java.lang.Comparable key,
java.lang.Object value)
mergeWith
void mergeWith(IBTreeNode node)
removeKeyAndValueAt
void removeKeyAndValueAt(int index)
getNbKeys
int getNbKeys()
setNbKeys
void setNbKeys(int nbKeys)
setNbChildren
void setNbChildren(int nbChildren)
getDegree
int getDegree()
getNbChildren
int getNbChildren()
getMaxNbChildren
int getMaxNbChildren()
setParent
void setParent(IBTreeNode node)
deleteKeyForLeafNode
java.lang.Object deleteKeyForLeafNode(IKeyAndValue keyAndValue)
deleteKeyAndValueAt
java.lang.Object deleteKeyAndValueAt(int index,
boolean shiftChildren)
hasParent
boolean hasParent()
getId
java.lang.Object getId()
setId
void setId(java.lang.Object id)
setBTree
void setBTree(IBTree btree)
getBTree
IBTree getBTree()
clear
void clear()
deleteChildAt
void deleteChildAt(int index)
getChildIdAt
java.lang.Object getChildIdAt(int childIndex,
boolean throwExceptionIfDoesNotExist)