org.helidb.backend.heap
Class HeapBackendBuilder<K,V>

java.lang.Object
  extended by org.helidb.backend.heap.HeapBackendBuilder<K,V>
Type Parameters:
K - The type of keys in the backend.
V - The type of values in the backend.

public class HeapBackendBuilder<K,V>
extends Object

This is a builder object for building HeapBackend objects. It can be reused to create several objects with similar configurations.

Since:
1.0
Author:
Karl Gustafsson
In_jar:
helidb-core

Constructor Summary
HeapBackendBuilder()
           
 
Method Summary
 HeapBackend<K,V> create(ReadWritableFile f)
          Create a HeapBackend object.
 HeapBackendBuilder<K,V> setBufferSize(int size)
          Set the size of temporary in-memory buffers used by the backend.
 HeapBackendBuilder<K,V> setKeySerializer(Serializer<K> serializer)
          Set the key serializer.
 HeapBackendBuilder<K,V> setLogAdapterHolder(LogAdapterHolder lah)
          Set the log adapter holder.
 HeapBackendBuilder<K,V> setReadOnly(boolean b)
          Should the backend be read only? By default it is not.
 HeapBackendBuilder<K,V> setStartPosOfDb(long pos)
          Set the start position of database data in the database file.
 HeapBackendBuilder<K,V> setValueSerializer(Serializer<V> serializer)
          Set the value serializer.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HeapBackendBuilder

public HeapBackendBuilder()
Method Detail

setReadOnly

public HeapBackendBuilder<K,V> setReadOnly(boolean b)
Should the backend be read only? By default it is not.

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

setKeySerializer

public HeapBackendBuilder<K,V> setKeySerializer(Serializer<K> serializer)
Set the key serializer. This property must be set.

Parameters:
serializer - The key serializer.
Returns:
this

setValueSerializer

public HeapBackendBuilder<K,V> setValueSerializer(Serializer<V> serializer)
Set the value serializer. This property must be set.

Parameters:
serializer -
Returns:
this

setStartPosOfDb

public HeapBackendBuilder<K,V> setStartPosOfDb(long pos)
                                        throws IllegalArgumentException
Set the start position of database data in the database file. The default value for this property is 0.

Parameters:
pos - The start position of database data in the database file.
Returns:
this
Throws:
IllegalArgumentException - If pos is negative.

setBufferSize

public HeapBackendBuilder<K,V> setBufferSize(int size)
                                      throws IllegalArgumentException
Set the size of temporary in-memory buffers used by the backend. The default value for this property is 8192 bytes.

Parameters:
size - The buffer size in bytes.
Returns:
this
Throws:
IllegalArgumentException - If size is less than 1 byte.

setLogAdapterHolder

public HeapBackendBuilder<K,V> setLogAdapterHolder(LogAdapterHolder lah)
Set the log adapter holder. The default value of this property is a log adapter holding holding a StdOutLogAdapter.

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

create

public HeapBackend<K,V> create(ReadWritableFile f)
Create a HeapBackend object.

Parameters:
f - The database file.
Returns:
A new HeapBackend object.