package org.qi4j.cache.ehcache;
import java.util.List;
import org.qi4j.api.common.Optional;
import org.qi4j.api.common.UseDefaults;
import org.qi4j.api.configuration.ConfigurationComposite;
import org.qi4j.api.property.Property;
public interface EhCacheConfiguration
extends ConfigurationComposite
{
@Optional @UseDefaults
Property<Boolean> clearOnFlush();
@Optional @UseDefaults
Property<Integer> diskAccessStripes();
@Optional @UseDefaults
Property<Long> diskExpiryThreadIntervalSeconds();
@Optional @UseDefaults
Property<Boolean> diskPersistent();
@Optional @UseDefaults
Property<Integer> diskSpoolBufferSizeMB();
@Optional @UseDefaults
Property<String> diskStorePath();
@Optional @UseDefaults
Property<Boolean> eternal();
@Optional @UseDefaults
Property<Boolean> loggingEnabled();
/**
* Number of objects the ehCache should keep in memory.
* Defaults to 1000
*
* @return The maximum number of elements to be kept in memory.
*/
@Optional @UseDefaults
Property<Integer> maxElementsInMemory();
@Optional @UseDefaults
Property<Integer> maxElementsOnDisk();
@Optional @UseDefaults
Property<String> memoryStoreEvictionPolicy();
@Optional @UseDefaults
Property<String> name();
@Optional @UseDefaults
Property<Boolean> overflowToDisk();
@Optional @UseDefaults
Property<String> transactionalMode();
@Optional @UseDefaults
Property<Long> timeToLiveSeconds();
@Optional @UseDefaults
Property<Long> timeToIdleSeconds();
@Optional @UseDefaults
Property<String> cacheManagerName();
@Optional @UseDefaults
Property<String> monitoring();
@Optional @UseDefaults
Property<Boolean> updateCheck();
}