org.helidb.backend.index.bplus
Class BPlusTreeIndexBackendFactory<K,V,H extends Comparable<H>,P>

java.lang.Object
  extended by org.helidb.backend.index.bplus.BPlusTreeIndexBackendFactory<K,V,H,P>
Type Parameters:
K - The type of keys in the database.
V - The type of values in the database.
H - The type of the key hashes.
P - The type of positions in the indexed backend.
All Implemented Interfaces:
DatabaseBackendFactory<K,V,P>

public class BPlusTreeIndexBackendFactory<K,V,H extends Comparable<H>,P>
extends Object
implements DatabaseBackendFactory<K,V,P>

This is a DatabaseBackendFactory for building BPlusTreeIndexBackend objects.

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

Constructor Summary
BPlusTreeIndexBackendFactory(DatabaseBackendFactory<K,V,P> proxied, NodeRepositoryBuilder<H> nrb, Hasher<K,H> keyHasher, LogAdapterHolder lah)
          Constructor.
 
Method Summary
 DatabaseBackend<K,V,P> create(DatabaseFiles f, boolean readOnly)
          Create a new backend for the supplied file.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BPlusTreeIndexBackendFactory

public BPlusTreeIndexBackendFactory(DatabaseBackendFactory<K,V,P> proxied,
                                    NodeRepositoryBuilder<H> nrb,
                                    Hasher<K,H> keyHasher,
                                    LogAdapterHolder lah)
Constructor.

Parameters:
proxied - A factory for building proxied DatabaseBackend objects.
nrb - A builder for building NodeRepository objects for the B+ Tree index. See BPlusTreeIndexBackendFileBackedNodeRepositoryBuilder.
keyHasher - Hasher for the keys.
lah - A log adapter holder.
Method Detail

create

public DatabaseBackend<K,V,P> create(DatabaseFiles f,
                                     boolean readOnly)
Description copied from interface: DatabaseBackendFactory
Create a new backend for the supplied file.

Specified by:
create in interface DatabaseBackendFactory<K,V,P>
Parameters:
f - The file(s) containing the database data. The implementation of this method should be able to assume a specific DatabaseFiles implementation. Which depends on the implementation of the database backend to create.
readOnly - Should the backend object be created read only?
Returns:
A new database backend object.