if ( parentPos.pos < parentPos.page.getNbElems() - 1 ) if ( parentPos.pos < parentPos.page.getNbElems() )
parentPos.pos = child.getNbElems(); parentPos.pos = parentPos.page.getNbElems(); parentPos.pos = parentPos.page.getNbElems() - 1; parentPos.pos = child.getNbElems() - 1;
/** @see Object#toString() */ public String toString() { StringBuilder sb = new StringBuilder(); if ( isNode ) { sb.append( "NodeLevel[" ); sb.append( levelNumber ); sb.append( "] :" ); } else { sb.append( "LeafLevel:" ); } sb.append( "\n nbElems = " ).append( nbElems ); sb.append( "\n nbPages = " ).append( nbPages ); sb.append( "\n nbElemsLimit = " ).append( nbElemsLimit ); sb.append( "\n nbAddedElems = " ).append( nbAddedElems ); sb.append( "\n currentPos = " ).append( currentPos ); sb.append( "\n currentPage" ); sb.append( "\n nbKeys : " ).append( currentPage.getNbElems() ); return sb.toString(); } }
if ( parentPos == parent.getNbElems() ) Page<K, V> nextPage = ( ( AbstractPage<K, V> ) parent ).getPage( parentPos + 1 ); int prevPageSize = prevPage.getNbElems(); int nextPageSize = nextPage.getNbElems();
parentPos.pos = child.getNbElems(); parentPos.page = child; child = ( ( AbstractPage<K, K> ) parentPos.page ).getPage( parentPos.page.getNbElems() ); parentPos.pos = child.getNbElems() - 1; parentPos.page = child;
if ( parentPos.pos == ( parentPos.page.getNbElems() - 1 ) )
if ( parentPos.pos == ( parentPos.page.getNbElems() - 1 ) )
parentPos.pos = child.getNbElems(); parentPos.pos = parentPos.page.getNbElems(); parentPos.pos = parentPos.page.getNbElems() - 1; parentPos.pos = child.getNbElems() - 1;
parentPos.pos = parentPos.page.getNbElems() - 1;
if ( parentPos.pos == parentPos.page.getNbElems() ) if ( parentPos.pos == parentPos.page.getNbElems() - 1 )
parentPos.pos = child.getNbElems(); parentPos.page = child; child = ( ( AbstractPage<K, V> ) parentPos.page ).getPage( parentPos.page.getNbElems() ); parentPos.pos = child.getNbElems() - 1; parentPos.page = child; ValueHolder<V> valueHolder = ( ( AbstractPage<K, V> ) parentPos.page ).getValue( parentPos.pos );
if ( parentPos.pos + 1 > parentPos.page.getNbElems() )
if ( parentPos.pos + 1 > parentPos.page.getNbElems() )
child = ( ( AbstractPage<K, V> ) child ).getPage( child.getNbElems() );
child = ( ( AbstractPage<K, K> ) child ).getPage( child.getNbElems() );
if ( parentPos.pos + 1 > parentPos.page.getNbElems() )
ParentPos<K, V> last = new ParentPos<K, V>( btree.getRootPage(), btree.getRootPage().getNbElems() ); stack.push( last ); Page<K, V> p = ( ( AbstractPage<K, V> ) node ).getPage( node.getNbElems() ); last = new ParentPos<K, V>( p, p.getNbElems() ); stack.push( last );
if ( parentPos.pos + 1 > parentPos.page.getNbElems() )
parentPos.pos = parentPos.page.getNbElems() - 1;
if ( page.getNbElems() == btree.getPageSize() ) BTreeFactory.setKey( btree, page, page.getNbElems(), tuple.getKey() ); ValueHolder<V> valueHolder = new InMemoryValueHolder<V>( btree, tuple.getValue() ); BTreeFactory.setValue( btree, page, page.getNbElems(), valueHolder ); BTreeFactory.setKey( btree, page, page.getNbElems(), tuple.getKey() ); PageHolder<K, V> pageHolder = new PageHolder<K, V>( btree, pageStack[level - 1] ); ( ( InMemoryNode<K, V> ) page ).setPageHolder( page.getNbElems(), pageHolder );