org.helidb.util.bplus
Class LruCacheNodeRepositoryBuilder<K,V>

java.lang.Object
  extended by org.helidb.util.bplus.LruCacheNodeRepositoryBuilder<K,V>
Type Parameters:
K -
V -
All Implemented Interfaces:
NodeRepositoryBuilder<K>

public class LruCacheNodeRepositoryBuilder<K,V>
extends Object
implements NodeRepositoryBuilder<K>

This is a NodeRepositoryBuilder for building LruCacheNodeRepository objects. It uses a proxied NodeRepositoryBuilder to build the caching node repository's proxied repository.

Since:
1.0
Author:
Karl Gustafsson
See Also:
LruCacheNodeRepository
In_jar:
helidb-core

Field Summary
static int DEFAULT_MAX_CACHE_SIZE
          The default maximum size of the cache is 16 nodes.
 
Constructor Summary
LruCacheNodeRepositoryBuilder()
           
 
Method Summary
 NodeRepository<K> create(ReadWritableFile f, boolean readOnly)
          Create the node repository.
 LruCacheNodeRepositoryBuilder<K,V> setMaxCacheSize(int i)
          Set the maximum cache size measured in the number of cached nodes.
 LruCacheNodeRepositoryBuilder<K,V> setProxiedBuilder(NodeRepositoryBuilder<K> proxied)
          Set the builder for building the proxied node repository.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_MAX_CACHE_SIZE

public static final int DEFAULT_MAX_CACHE_SIZE
The default maximum size of the cache is 16 nodes.

See Also:
Constant Field Values
Constructor Detail

LruCacheNodeRepositoryBuilder

public LruCacheNodeRepositoryBuilder()
Method Detail

setProxiedBuilder

public LruCacheNodeRepositoryBuilder<K,V> setProxiedBuilder(NodeRepositoryBuilder<K> proxied)
Set the builder for building the proxied node repository.

Parameters:
proxied - The proxied builder.
Returns:
this.

setMaxCacheSize

public LruCacheNodeRepositoryBuilder<K,V> setMaxCacheSize(int i)
                                                   throws IllegalArgumentException
Set the maximum cache size measured in the number of cached nodes.

Parameters:
i - The maximum number of cached nodes.
Returns:
this.
Throws:
IllegalArgumentException - If the cache size is less than 1.

create

public NodeRepository<K> create(ReadWritableFile f,
                                boolean readOnly)
Description copied from interface: NodeRepositoryBuilder
Create the node repository.

Specified by:
create in interface NodeRepositoryBuilder<K>
Parameters:
f - The file containing the node repository data.
readOnly - Should the repository be read only?
Returns:
The created node repository.