package org.infinispan.persistence.leveldb.configuration; import org.infinispan.commons.configuration.BuiltBy; import org.infinispan.commons.configuration.ConfigurationFor; import org.infinispan.commons.configuration.attributes.Attribute; import org.infinispan.commons.configuration.attributes.AttributeDefinition; import org.infinispan.commons.configuration.attributes.AttributeSet; import org.infinispan.configuration.cache.AsyncStoreConfiguration; import org.infinispan.configuration.cache.SingletonStoreConfiguration; import org.infinispan.configuration.serializing.SerializedWith; import org.infinispan.persistence.leveldb.LevelDBStore; import org.infinispan.persistence.rocksdb.configuration.RocksDBStoreConfiguration; /** * * @author <a href="mailto:rtsang@redhat.com">Ray Tsang</a> * @deprecated Use the RocksDB cache store instead */ @Deprecated @ConfigurationFor(LevelDBStore.class) @BuiltBy(LevelDBStoreConfigurationBuilder.class) @SerializedWith(LevelDBStoreConfigurationSerializer.class) public class LevelDBStoreConfiguration extends RocksDBStoreConfiguration { public enum ImplementationType { AUTO, JAVA, JNI } final static AttributeDefinition<ImplementationType> IMPLEMENTATION_TYPE = AttributeDefinition.builder("implementationType", ImplementationType.AUTO).immutable().autoPersist(false).build(); public static AttributeSet attributeDefinitionSet() { return new AttributeSet(LevelDBStoreConfiguration.class, RocksDBStoreConfiguration.attributeDefinitionSet(), IMPLEMENTATION_TYPE); } private final Attribute<ImplementationType> implementationType; public LevelDBStoreConfiguration(AttributeSet attributes, AsyncStoreConfiguration async, SingletonStoreConfiguration singletonStore) { super(attributes, async, singletonStore); implementationType = attributes.attribute(IMPLEMENTATION_TYPE); } public ImplementationType implementationType() { return implementationType.get(); } }