package org.infinispan.persistence.leveldb.configuration; import static org.infinispan.persistence.leveldb.configuration.LevelDBStoreConfiguration.IMPLEMENTATION_TYPE; import org.infinispan.commons.configuration.Builder; import org.infinispan.configuration.cache.AbstractStoreConfigurationBuilder; import org.infinispan.configuration.cache.PersistenceConfigurationBuilder; /** * * @author <a href="mailto:rtsang@redhat.com">Ray Tsang</a> * @deprecated Use the RocksDB Cache Store instead */ @Deprecated public class LevelDBStoreConfigurationBuilder extends AbstractStoreConfigurationBuilder<LevelDBStoreConfiguration, LevelDBStoreConfigurationBuilder> { public LevelDBStoreConfigurationBuilder(PersistenceConfigurationBuilder builder) { super(builder, LevelDBStoreConfiguration.attributeDefinitionSet()); } public LevelDBStoreConfigurationBuilder location(String location) { attributes.attribute("location").set(location); return self(); } public LevelDBStoreConfigurationBuilder expiredLocation(String expiredLocation) { attributes.attribute("expiredLocation").set(expiredLocation); return self(); } public LevelDBStoreConfigurationBuilder implementationType(LevelDBStoreConfiguration.ImplementationType implementationType) { attributes.attribute(IMPLEMENTATION_TYPE).set(implementationType); return self(); } public LevelDBStoreConfigurationBuilder blockSize(int blockSize) { attributes.attribute("blockSize").set(blockSize); return self(); } public LevelDBStoreConfigurationBuilder cacheSize(long cacheSize) { attributes.attribute("cacheSize").set(cacheSize); return self(); } public LevelDBStoreConfigurationBuilder expiryQueueSize(int expiryQueueSize) { attributes.attribute("expiryQueueSize").set(expiryQueueSize); return self(); } public LevelDBStoreConfigurationBuilder clearThreshold(int clearThreshold) { attributes.attribute("clearThreshold").set(clearThreshold); return self(); } public LevelDBStoreConfigurationBuilder compressionType(CompressionType compressionType) { attributes.attribute("compressionType").set(compressionType); return self(); } @Override public void validate() { // how do you validate required attributes? super.validate(); } @Override public LevelDBStoreConfiguration create() { return new LevelDBStoreConfiguration(attributes.protect(), async.create(), singletonStore.create()); } @Override public Builder<?> read(LevelDBStoreConfiguration template) { super.read(template); return self(); } @Override public LevelDBStoreConfigurationBuilder self() { return this; } }