org.zodiac.cache.reactive.config.CaffeineCacheInfo Maven / Gradle / Ivy
The newest version!
package org.zodiac.cache.reactive.config;
import java.time.Duration;
import java.util.Objects;
import org.zodiac.cache.reactive.ReactiveCacheManager;
import org.zodiac.cache.reactive.config.ReactiveCacheInfo.Strength;
import org.zodiac.cache.reactive.supports.CaffeineReactiveCacheManager;
public class CaffeineCacheInfo {
long maximumSize = 1024;
int initialCapacity = 64;
Duration expireAfterWrite = Duration.ofHours(6);
Duration expireAfterAccess = Duration.ofHours(1);
Strength keyStrength = Strength.SOFT;
Strength valueStrength = Strength.SOFT;
public CaffeineCacheInfo() {
super();
}
public long getMaximumSize() {
return maximumSize;
}
public void setMaximumSize(long maximumSize) {
this.maximumSize = maximumSize;
}
public int getInitialCapacity() {
return initialCapacity;
}
public void setInitialCapacity(int initialCapacity) {
this.initialCapacity = initialCapacity;
}
public Duration getExpireAfterWrite() {
return expireAfterWrite;
}
public void setExpireAfterWrite(Duration expireAfterWrite) {
this.expireAfterWrite = expireAfterWrite;
}
public Duration getExpireAfterAccess() {
return expireAfterAccess;
}
public void setExpireAfterAccess(Duration expireAfterAccess) {
this.expireAfterAccess = expireAfterAccess;
}
public Strength getKeyStrength() {
return keyStrength;
}
public void setKeyStrength(Strength keyStrength) {
this.keyStrength = keyStrength;
}
public Strength getValueStrength() {
return valueStrength;
}
public void setValueStrength(Strength valueStrength) {
this.valueStrength = valueStrength;
}
@Override
public int hashCode() {
return Objects.hash(expireAfterAccess, expireAfterWrite, initialCapacity, keyStrength, maximumSize,
valueStrength);
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
CaffeineCacheInfo other = (CaffeineCacheInfo)obj;
return Objects.equals(expireAfterAccess, other.expireAfterAccess)
&& Objects.equals(expireAfterWrite, other.expireAfterWrite) && initialCapacity == other.initialCapacity
&& keyStrength == other.keyStrength && maximumSize == other.maximumSize
&& valueStrength == other.valueStrength;
}
@Override
public String toString() {
return "[maximumSize=" + maximumSize + ", initialCapacity=" + initialCapacity
+ ", expireAfterWrite=" + expireAfterWrite + ", expireAfterAccess=" + expireAfterAccess
+ ", keyStrength=" + keyStrength + ", valueStrength=" + valueStrength + "]";
}
ReactiveCacheManager createCacheManager() {
return new CaffeineReactiveCacheManager(createBuilder());
}
com.github.benmanes.caffeine.cache.Caffeine