org.helidb.backend.index.bplus
Class BPlusTreeIndexBackendBuilder<K,H extends Comparable<H>>

java.lang.Object
  extended by org.helidb.backend.index.bplus.BPlusTreeIndexBackendBuilder<K,H>
Type Parameters:
K - The type of keys in the backend index.
H - The type of hash that the keys are hashed to.

public class BPlusTreeIndexBackendBuilder<K,H extends Comparable<H>>
extends Object

This is a builder for BPlusTreeIndexBackend objects. This object can be reused to create multiple instances with similar configuration.

Since:
1.0
Author:
Karl Gustafsson
See Also:
BPlusTreeIndexBackend
In_jar:
helidb-bplus_index_backend

Constructor Summary
BPlusTreeIndexBackendBuilder()
           
 
Method Summary
<V,P> BPlusTreeIndexBackend<K,V,H,P>
create(DatabaseBackend<K,V,P> backend, BPlusTree<H,P> tree)
          Create a BPlusTreeIndexBackend
 BPlusTreeIndexBackendBuilder<K,H> setKeyHasher(Hasher<K,H> hasher)
          Set the hasher for hashing database keys.
 BPlusTreeIndexBackendBuilder<K,H> setLogAdapterHolder(LogAdapterHolder lah)
          Set the log adapter holder.
 BPlusTreeIndexBackendBuilder<K,H> setReadOnly(boolean b)
          Set if the index should be read only.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BPlusTreeIndexBackendBuilder

public BPlusTreeIndexBackendBuilder()
Method Detail

setReadOnly

public BPlusTreeIndexBackendBuilder<K,H> setReadOnly(boolean b)
Set if the index should be read only. The default value of this property is false.

Parameters:
b - Should the backend be read only?
Returns:
this

setKeyHasher

public BPlusTreeIndexBackendBuilder<K,H> setKeyHasher(Hasher<K,H> hasher)
Set the hasher for hashing database keys. This property must be set.

Parameters:
hasher - The key hasher.
Returns:
this.

setLogAdapterHolder

public BPlusTreeIndexBackendBuilder<K,H> setLogAdapterHolder(LogAdapterHolder lah)
Set the log adapter holder. By default a StdOutLogAdapter is used.

Parameters:
lah - The log adapter holder.
Returns:
this.

create

public <V,P> BPlusTreeIndexBackend<K,V,H,P> create(DatabaseBackend<K,V,P> backend,
                                                   BPlusTree<H,P> tree)
Create a BPlusTreeIndexBackend

Type Parameters:
V - The type of values in the proxied backend.
P - The type of positions in the proxied backend.
Parameters:
backend - The proxied backend.
tree - The B+ Tree to store the index in.
Returns:
A new BPlusTreeIndexBackend object.