package com.kryptnostic.rhizome.mapstores; import com.kryptnostic.rhizome.mappers.SelfRegisteringKeyMapper; import com.kryptnostic.rhizome.mappers.SelfRegisteringValueMapper; public interface MapStoreBuilder<K, V> { TestableSelfRegisteringMapStore<K, V> build(); MapStoreBuilder<K, V> withTableName( String name ); MapStoreBuilder<K, V> withMapName( String name ); MapStoreBuilder<K, V> withTableAndMapName( String name ); MapStoreBuilder<K, V> withCustomKeyMapper( SelfRegisteringKeyMapper<K> mapper ); MapStoreBuilder<K, V> withCustomValueMapper( SelfRegisteringValueMapper<V> mapper ); MapStoreBuilder<K, V> setObjectInMemoryFormat(); MapStoreBuilder<K, V> withTestValue( V value ); MapStoreBuilder<K, V> withTestKey( K key ); MapStoreBuilder<K, V> enableEagerLoading(); MapStoreBuilder<K, V> enableWriteBehindMode( int writeBehindTime ); MapStoreBuilder<K, V> disableLoadAllKeys(); }