jdbm.btree
Class BPage

java.lang.Object
  extended by jdbm.btree.BPage
All Implemented Interfaces:
java.io.Serializable, Serializer

public final class BPage
extends java.lang.Object
implements Serializer

Page of a Btree.

The page contains a number of key-value pairs. Keys are ordered to allow dichotomic search.

If the page is a leaf page, the keys and values are user-defined and represent entries inserted by the user.

If the page is non-leaf, each key represents the greatest key in the underlying BPages and the values are recids pointing to the children BPages. The only exception is the rightmost BPage, which is considered to have an "infinite" key value, meaning that any insert will be to the left of this pseudo-key

Version:
$Id: BPage.java,v 1.6 2003/09/21 15:46:59 boisvert Exp $
Author:
Alex Boisvert
See Also:
Serialized Form

Field Summary
protected  long[] _children
          Children pages (recids) associated with keys.
protected  int _first
          Index of first used item at the page
protected  boolean _isLeaf
          Flag indicating if this is a leaf BPage.
protected  java.lang.Object[] _keys
          Keys of children nodes
protected  long _next
          Next leaf BPage (only if this BPage is a leaf)
protected  long _previous
          Previous leaf BPage (only if this BPage is a leaf)
protected  long _recid
          This BPage's record ID in the PageManager.
protected  java.lang.Object[] _values
          Values associated with keys.
 
Constructor Summary
BPage()
          No-argument constructor used by serialization.
 
Method Summary
 java.lang.Object deserialize(byte[] serialized)
          Deserialize the content of an object from a byte array.
 byte[] serialize(java.lang.Object obj)
          Serialize the content of an object into a byte array.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_recid

protected transient long _recid
This BPage's record ID in the PageManager.


_isLeaf

protected boolean _isLeaf
Flag indicating if this is a leaf BPage.


_keys

protected java.lang.Object[] _keys
Keys of children nodes


_values

protected java.lang.Object[] _values
Values associated with keys. (Only valid if leaf BPage)


_children

protected long[] _children
Children pages (recids) associated with keys. (Only valid if non-leaf BPage)


_first

protected int _first
Index of first used item at the page


_previous

protected long _previous
Previous leaf BPage (only if this BPage is a leaf)


_next

protected long _next
Next leaf BPage (only if this BPage is a leaf)

Constructor Detail

BPage

public BPage()
No-argument constructor used by serialization.

Method Detail

deserialize

public java.lang.Object deserialize(byte[] serialized)
                             throws java.io.IOException
Deserialize the content of an object from a byte array.

Specified by:
deserialize in interface Serializer
Parameters:
serialized - Byte array representation of the object
Returns:
deserialized object
Throws:
java.io.IOException

serialize

public byte[] serialize(java.lang.Object obj)
                 throws java.io.IOException
Serialize the content of an object into a byte array.

Specified by:
serialize in interface Serializer
Parameters:
obj - Object to serialize
Returns:
a byte array representing the object's state
Throws:
java.io.IOException


Copyright © 2003-2009 Apache Software Foundation. All Rights Reserved.