Configurator(Config config, String cacheName) { this.root = requireNonNull(config); this.configuration = new CaffeineConfiguration<>(); this.customized = root.getConfig("caffeine.jcache." + cacheName); this.merged = customized.withFallback(root.getConfig("caffeine.jcache.default")); }
@Override protected CaffeineConfiguration<Integer, Integer> getConfiguration() { return new CaffeineConfiguration<>(); }
@Override protected CaffeineConfiguration<Integer, Integer> getConfiguration() { return new CaffeineConfiguration<>(); }
@Override protected CaffeineConfiguration<Integer, Integer> getConfiguration() { CaffeineConfiguration<Integer, Integer> configuration = new CaffeineConfiguration<>(); configuration.setExpiryFactory(Optional.of(() -> expiry)); configuration.setTickerFactory(() -> ticker::read); return configuration; }
@Override protected CaffeineConfiguration<Integer, Integer> getConfiguration() { CacheEntryRemovedListener<Integer, Integer> listener = events -> removed.incrementAndGet(); CaffeineConfiguration<Integer, Integer> configuration = new CaffeineConfiguration<>(); configuration.setMaximumSize(OptionalLong.of(MAXIMUM)); CacheEntryListenerConfiguration<Integer, Integer> listenerConfiguration = new MutableCacheEntryListenerConfiguration<Integer, Integer>(() -> listener, /* filterFactory */ null, /* isOldValueRequired */ false, /* isSynchronous */ true); configuration.addCacheEntryListenerConfiguration(listenerConfiguration); configuration.setExecutorFactory(MoreExecutors::directExecutor); return configuration; }
@Override protected CaffeineConfiguration<Integer, Integer> getConfiguration() { CacheEntryRemovedListener<Integer, Integer> listener = events -> removedWeight.addAndGet(Iterables.getOnlyElement(events).getValue()); CaffeineConfiguration<Integer, Integer> configuration = new CaffeineConfiguration<>(); configuration.setMaximumWeight(OptionalLong.of(MAXIMUM)); configuration.setWeigherFactory(Optional.of(() -> (key, value) -> value)); CacheEntryListenerConfiguration<Integer, Integer> listenerConfiguration = new MutableCacheEntryListenerConfiguration<Integer, Integer>(() -> listener, /* filterFactory */ null, /* isOldValueRequired */ true, /* isSynchronous */ true); configuration.addCacheEntryListenerConfiguration(listenerConfiguration); configuration.setExecutorFactory(MoreExecutors::directExecutor); return configuration; }
@Override protected CaffeineConfiguration<Integer, Integer> getConfiguration() { CacheEntryRemovedListener<Integer, Integer> listener = events -> removed.incrementAndGet(); CaffeineConfiguration<Integer, Integer> configuration = new CaffeineConfiguration<>(); configuration.setMaximumSize(OptionalLong.of(MAXIMUM)); CacheEntryListenerConfiguration<Integer, Integer> listenerConfiguration = new MutableCacheEntryListenerConfiguration<>(() -> listener, /* filterFactory */ null, /* isOldValueRequired */ false, /* isSynchronous */ true); configuration.addCacheEntryListenerConfiguration(listenerConfiguration); configuration.setExecutorFactory(MoreExecutors::directExecutor); configuration.setExpiryFactory(Optional.of(() -> expiry)); configuration.setTickerFactory(() -> ticker::read); return configuration; }
@Override protected CaffeineConfiguration<Integer, Integer> getConfiguration() { CaffeineConfiguration<Integer, Integer> configuration = new CaffeineConfiguration<>(); configuration.setExpiryPolicyFactory(() -> new CreatedExpiryPolicy( new Duration(TimeUnit.MILLISECONDS, EXPIRY_DURATION))); configuration.setTickerFactory(() -> ticker::read); return configuration; }
@Override protected CaffeineConfiguration<Integer, Integer> getConfiguration() { CaffeineConfiguration<Integer, Integer> configuration = new CaffeineConfiguration<>(); configuration.setExpiryPolicyFactory(() -> new ModifiedExpiryPolicy( new Duration(TimeUnit.MILLISECONDS, EXPIRY_DURATION))); configuration.setTickerFactory(() -> ticker::read); return configuration; }
@Override protected CaffeineConfiguration<Integer, Integer> getConfiguration() { CaffeineConfiguration<Integer, Integer> configuration = new CaffeineConfiguration<>(); configuration.setExpiryPolicyFactory(() -> new AccessedExpiryPolicy( new Duration(TimeUnit.MILLISECONDS, EXPIRY_DURATION))); configuration.setTickerFactory(() -> ticker::read); return configuration; }
@Override protected CaffeineConfiguration<Integer, Integer> getConfiguration() { CaffeineConfiguration<Integer, Integer> config = new CaffeineConfiguration<>(); config.setExpiryPolicyFactory(() -> new CreatedExpiryPolicy(Duration.FIVE_MINUTES)); config.setCacheLoaderFactory(MapLoader::new); config.setCacheWriterFactory(MapWriter::new); config.setTickerFactory(() -> ticker::read); config.setMaximumSize(OptionalLong.of(200)); config.setWriteThrough(true); config.setReadThrough(true); return config; }
/** Copies the configuration and overlays it on top of the default settings. */ @SuppressWarnings("PMD.AccessorMethodGeneration") private <K, V> CaffeineConfiguration<K, V> resolveConfigurationFor( Configuration<K, V> configuration) { if (configuration instanceof CaffeineConfiguration<?, ?>) { return new CaffeineConfiguration<>((CaffeineConfiguration<K, V>) configuration); } CaffeineConfiguration<K, V> template = TypesafeConfigurator.defaults(rootConfig); if (configuration instanceof CompleteConfiguration<?, ?>) { CompleteConfiguration<K, V> complete = (CompleteConfiguration<K, V>) configuration; template.setReadThrough(complete.isReadThrough()); template.setWriteThrough(complete.isWriteThrough()); template.setManagementEnabled(complete.isManagementEnabled()); template.setStatisticsEnabled(complete.isStatisticsEnabled()); template.getCacheEntryListenerConfigurations() .forEach(template::removeCacheEntryListenerConfiguration); complete.getCacheEntryListenerConfigurations() .forEach(template::addCacheEntryListenerConfiguration); template.setCacheLoaderFactory(complete.getCacheLoaderFactory()); template.setCacheWriterFactory(complete.getCacheWriterFactory()); template.setExpiryPolicyFactory(complete.getExpiryPolicyFactory()); } template.setTypes(configuration.getKeyType(), configuration.getValueType()); template.setStoreByValue(configuration.isStoreByValue()); return template; }
Configurator(Config config, String cacheName) { this.root = requireNonNull(config); this.configuration = new CaffeineConfiguration<>(); this.customized = root.getConfig("caffeine.jcache." + cacheName); this.merged = customized.withFallback(root.getConfig("caffeine.jcache.default")); }
/** Copies the configuration and overlays it on top of the default settings. */ @SuppressWarnings("PMD.AccessorMethodGeneration") private <K, V> CaffeineConfiguration<K, V> resolveConfigurationFor( Configuration<K, V> configuration) { if (configuration instanceof CaffeineConfiguration<?, ?>) { return new CaffeineConfiguration<>((CaffeineConfiguration<K, V>) configuration); } CaffeineConfiguration<K, V> template = TypesafeConfigurator.defaults(rootConfig); if (configuration instanceof CompleteConfiguration<?, ?>) { CompleteConfiguration<K, V> complete = (CompleteConfiguration<K, V>) configuration; template.setReadThrough(complete.isReadThrough()); template.setWriteThrough(complete.isWriteThrough()); template.setManagementEnabled(complete.isManagementEnabled()); template.setStatisticsEnabled(complete.isStatisticsEnabled()); template.getCacheEntryListenerConfigurations() .forEach(template::removeCacheEntryListenerConfiguration); complete.getCacheEntryListenerConfigurations() .forEach(template::addCacheEntryListenerConfiguration); template.setCacheLoaderFactory(complete.getCacheLoaderFactory()); template.setCacheWriterFactory(complete.getCacheWriterFactory()); template.setExpiryPolicyFactory(complete.getExpiryPolicyFactory()); } template.setTypes(configuration.getKeyType(), configuration.getValueType()); template.setStoreByValue(configuration.isStoreByValue()); return template; }