Files
JChargePointProtocol/jcpp-infrastructure-cache/src/main/java/sanbing/jcpp/infrastructure/cache/SimpleCacheValueWrapper.java

38 lines
1.0 KiB
Java
Raw Normal View History

2024-10-08 09:38:54 +08:00
/**
2025-03-04 10:42:17 +08:00
* 开源代码仅供学习和交流研究使用商用请联系三丙
* 微信mohan_88888
* 抖音程序员三丙
* 付费课程知识星球https://t.zsxq.com/aKtXo
2024-10-08 09:38:54 +08:00
*/
package sanbing.jcpp.infrastructure.cache;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.ToString;
import org.springframework.cache.Cache;
@ToString
@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
public class SimpleCacheValueWrapper<T> implements CacheValueWrapper<T> {
private final T value;
@Override
public T get() {
return value;
}
public static <T> SimpleCacheValueWrapper<T> empty() {
return new SimpleCacheValueWrapper<>(null);
}
public static <T> SimpleCacheValueWrapper<T> wrap(T value) {
return new SimpleCacheValueWrapper<>(value);
}
@SuppressWarnings("unchecked")
public static <T> SimpleCacheValueWrapper<T> wrap(Cache.ValueWrapper source) {
return source == null ? null : new SimpleCacheValueWrapper<>((T) source.get());
}
}