/** * Constructs a {@link MutableConfiguration} based on another {@link Configuration}. * * @param configuration the {@link Configuration} */ public MutableConfiguration(Configuration<K, V> configuration) { this.keyType = configuration.getKeyType(); this.valueType = configuration.getValueType(); listenerConfigurations = new ArrayList<CacheEntryListenerConfiguration<K, V>>(); for (CacheEntryListenerConfiguration<K, V> definition : configuration.getCacheEntryListenerConfigurations()) { addCacheEntryListenerConfiguration(definition); } this.cacheLoaderFactory = configuration.getCacheLoaderFactory(); this.cacheWriterFactory = configuration.getCacheWriterFactory(); if (configuration.getExpiryPolicyFactory() == null) { this.expiryPolicyFactory = EternalExpiryPolicy.factoryOf(); } else { this.expiryPolicyFactory = configuration.getExpiryPolicyFactory(); } this.isReadThrough = configuration.isReadThrough(); this.isWriteThrough = configuration.isWriteThrough(); this.isStatisticsEnabled = configuration.isStatisticsEnabled(); this.isStoreByValue = configuration.isStoreByValue(); this.isManagementEnabled = configuration.isManagementEnabled(); }
/** * Set the {@link Factory} for the {@link ExpiryPolicy}. If <code>null</code> is specified the * default {@link ExpiryPolicy} is used. * * @param factory the {@link ExpiryPolicy} {@link Factory} * @return the {@link MutableConfiguration} to permit fluent-style method calls */ public MutableConfiguration<K, V> setExpiryPolicyFactory( Factory<? extends ExpiryPolicy> factory) { if (factory == null) { this.expiryPolicyFactory = EternalExpiryPolicy.factoryOf(); } else { this.expiryPolicyFactory = (Factory<ExpiryPolicy>) factory; } return this; }
/** Constructs a default {@link MutableConfiguration}. */ public MutableConfiguration() { this.keyType = (Class<K>) Object.class; this.valueType = (Class<V>) Object.class; this.listenerConfigurations = new ArrayList<CacheEntryListenerConfiguration<K, V>>(); this.cacheLoaderFactory = null; this.cacheWriterFactory = null; this.expiryPolicyFactory = EternalExpiryPolicy.factoryOf(); this.isReadThrough = false; this.isWriteThrough = false; this.isStatisticsEnabled = false; this.isStoreByValue = true; this.isManagementEnabled = false; }
public Eh107CompleteConfiguration( Configuration<K, V> config, final CacheConfiguration<K, V> ehcacheConfig, boolean useEhcacheExpiry, boolean useEhcacheLoaderWriter) { this.ehcacheConfig = ehcacheConfig; this.keyType = config.getKeyType(); this.valueType = config.getValueType(); this.isStoreByValue = isStoreByValue(config, ehcacheConfig); Factory<ExpiryPolicy> tempExpiryPolicyFactory = EternalExpiryPolicy.factoryOf(); if (config instanceof CompleteConfiguration) { CompleteConfiguration<K, V> completeConfig = (CompleteConfiguration<K, V>) config; this.isReadThrough = completeConfig.isReadThrough(); this.isWriteThrough = completeConfig.isWriteThrough(); this.isStatisticsEnabled = completeConfig.isStatisticsEnabled(); this.isManagementEnabled = completeConfig.isManagementEnabled(); if (useEhcacheLoaderWriter) { this.cacheLoaderFactory = createThrowingFactory(); this.cacheWriterFactory = createThrowingFactory(); } else { this.cacheLoaderFactory = completeConfig.getCacheLoaderFactory(); this.cacheWriterFactory = completeConfig.getCacheWriterFactory(); } tempExpiryPolicyFactory = completeConfig.getExpiryPolicyFactory(); for (CacheEntryListenerConfiguration<K, V> listenerConfig : completeConfig.getCacheEntryListenerConfigurations()) { cacheEntryListenerConfigs.add(listenerConfig); } } else { this.isReadThrough = false; this.isWriteThrough = false; this.isStatisticsEnabled = false; this.isManagementEnabled = false; this.cacheLoaderFactory = null; this.cacheWriterFactory = null; } if (useEhcacheExpiry) { tempExpiryPolicyFactory = createThrowingFactory(); } this.expiryPolicyFactory = tempExpiryPolicyFactory; }