class BTreeHeader<K,V>
extends java.lang.Object
implements java.lang.Cloneable
+--------------------+-------------+ | revision | 8 bytes | +--------------------+-------------+ | nbElems | 8 bytes | +--------------------+-------------+ | rootPageOffset | 8 bytes | +--------------------+-------------+ | BtreeHeaderOffset | 8 bytes | +--------------------+-------------+Each B-tree Header will be written starting on a new page. In memory, a B-tree Header store a bit more of information :
| Modifier and Type | Field and Description |
|---|---|
private BTree<K,V> |
btree
The B-tree this header is associated with
|
private long |
btreeHeaderOffset
The position of the B-tree header in the file
|
private java.lang.Long |
nbElems
The number of elements in this B-tree
|
private java.util.concurrent.atomic.AtomicInteger |
nbUsers
The number of users for this BtreeHeader
|
private long |
revision
The current revision
|
private Page<K,V> |
rootPage
A Map containing the rootPage for this tree
|
private long |
rootPageOffset
The offset of the B-tree RootPage
|
| Constructor and Description |
|---|
BTreeHeader()
Creates a BTreeHeader instance
|
| Modifier and Type | Method and Description |
|---|---|
BTreeHeader<K,V> |
clone()
Clone the BTreeHeader
|
(package private) BTreeHeader<K,V> |
copy()
Copy the current B-tree header and return the copy
|
(package private) void |
decrementNbElems()
Decrement the number of elements
|
(package private) void |
decrementNbUsers()
Decrement the number of users
|
(package private) BTree<K,V> |
getBtree() |
long |
getBTreeHeaderOffset() |
long |
getBTreeInfoOffset() |
long |
getNbElems() |
(package private) int |
getNbUsers()
Get the number of users
|
long |
getRevision() |
(package private) Page<K,V> |
getRootPage()
Get the root page
|
long |
getRootPageOffset() |
(package private) void |
incrementNbElems()
Increment the number of elements
|
(package private) void |
incrementNbUsers()
Increment the number of users
|
(package private) void |
setBtree(BTree<K,V> btree)
Associate a B-tree with this BTreeHeader instance
|
(package private) void |
setBTreeHeaderOffset(long btreeHeaderOffset)
Set the B-tree header offset
|
(package private) void |
setNbElems(long nbElems) |
(package private) void |
setRevision(long revision)
Set the new revision
|
(package private) void |
setRootPage(Page<K,V> rootPage)
Set the root page
|
(package private) void |
setRootPageOffset(long rootPageOffset)
Set the Root Page offset
|
java.lang.String |
toString() |
private long revision
private java.lang.Long nbElems
private long rootPageOffset
private long btreeHeaderOffset
private java.util.concurrent.atomic.AtomicInteger nbUsers
public long getBTreeInfoOffset()
public long getBTreeHeaderOffset()
public BTreeHeader<K,V> clone()
clone in class java.lang.ObjectBTreeHeader<K,V> copy()
void setBTreeHeaderOffset(long btreeHeaderOffset)
btreeOffset - the B-tree header Offset to setpublic long getRootPageOffset()
void setRootPageOffset(long rootPageOffset)
rootPageOffset - the rootPageOffset to setpublic long getRevision()
void setRevision(long revision)
revision - the revision to setpublic long getNbElems()
void setNbElems(long nbElems)
nbElems - the nbElems to setvoid incrementNbElems()
void decrementNbElems()
void setRootPage(Page<K,V> rootPage)
rootPage - the rootPage to setint getNbUsers()
void incrementNbUsers()
void decrementNbUsers()
void setBtree(BTree<K,V> btree)
btree - the B-tree to setpublic java.lang.String toString()
toString in class java.lang.ObjectObject.toString()