com.ideaaedi.extspringcache.annotation.CaffeineOop Maven / Gradle / Ivy
package com.ideaaedi.extspringcache.annotation;
import com.ideaaedi.extspringcache.enums.CaffeineExpireStrategyEnum;
import com.ideaaedi.extspringcache.enums.CaffeineKeyQuoteTypeEnum;
import com.ideaaedi.extspringcache.enums.CaffeineValueQuoteTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import java.time.temporal.ChronoUnit;
/**
* {@link Caffeine}中的信息的容器类
*
* P.S. 每个字段的语意见Caffeine中对应的字段即可
*
* @author JustryDeng
* @since 2020/11/4 19:08:31
*/
@Data
@Builder
@AllArgsConstructor
public class CaffeineOop {
private final long maximumSize;
private final long maximumWeight;
private final String weigher4MaximumWeight;
private final int initialCapacity;
private final int refreshAfterWrite;
private final ChronoUnit timeUnit4Refresh;
private final String cacheLoader4Refresh;
private final boolean recordStats;
private final CaffeineKeyQuoteTypeEnum keyQuoteType;
private final CaffeineValueQuoteTypeEnum valueQuoteType;
private final int expireTime;
private final ChronoUnit timeUnit;
private final CaffeineExpireStrategyEnum expireStrategy;
}