
com.github.anonymousmister.bootfastconfig.cache.caffeine.CaffeineCacheConfig Maven / Gradle / Ivy
package com.github.anonymousmister.bootfastconfig.cache.caffeine;
import com.github.anonymousmister.bootfastconfig.cache.properties.CaffeineBuilder;
import com.github.benmanes.caffeine.cache.Cache;
import com.github.benmanes.caffeine.cache.Caffeine;
import org.springframework.cache.caffeine.CaffeineCache;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
public class CaffeineCacheConfig {
private final List caffeineCacheList;
private CaffeineBuilder caffeineBuilder;
public CaffeineCacheConfig() {
this.caffeineCacheList = new ArrayList<>();
}
public void addCaffeineCache(CaffeineCache caffeineCache) {
caffeineCacheList.add(caffeineCache);
}
public void addCaffeineCache(String cacheName, Cache cache) {
caffeineCacheList.add(new CaffeineCache(cacheName, cache));
}
public void addCaffeineCache(String cacheName, CaffeineBuilder caffeineBuilder) {
Caffeine builder = caffeineBuilder.Builder();
caffeineCacheList.add(new CaffeineCache(cacheName, builder.build()));
}
public void addCaffeineCache(Map map) {
if (map == null || map.isEmpty()) {
return;
}
map.forEach((n, o) -> {
addCaffeineCache(n, o);
});
}
public void setDefaultCaffeineConfig(CaffeineBuilder caffeineBuilder) {
if (this.caffeineBuilder == null) {
this.caffeineBuilder = caffeineBuilder;
}
}
public void getCaffeineCacheManager(MyCaffeineCacheManager caffeineCacheManager) {
if (caffeineCacheManager == null) {
return;
}
caffeineCacheManager.addCaches(caffeineCacheList);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy