SimpleCacheDeserializer.java
package com.fasterxml.jackson.datatype.guava;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.fasterxml.jackson.databind.KeyDeserializer;
import com.fasterxml.jackson.databind.deser.NullValueProvider;
import com.fasterxml.jackson.databind.jsontype.TypeDeserializer;
import com.fasterxml.jackson.databind.type.MapLikeType;
import com.fasterxml.jackson.datatype.guava.deser.cache.GuavaCacheDeserializer;
import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
/**
* {@link GuavaCacheDeserializer} class implementation for deserializing Guava {@link Cache} instances.
*
* @since 2.16
*/
public class SimpleCacheDeserializer
extends GuavaCacheDeserializer<Cache<Object,Object>>
{
private static final long serialVersionUID = 1L;
/*
/**********************************************************
/* Life-cycle
/**********************************************************
*/
public SimpleCacheDeserializer(MapLikeType type, KeyDeserializer keyDeserializer,
TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer)
{
super(type, keyDeserializer, elementTypeDeserializer, elementDeserializer);
}
public SimpleCacheDeserializer(MapLikeType type, KeyDeserializer keyDeserializer,
TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer,
NullValueProvider nvp)
{
super(type, keyDeserializer, elementTypeDeserializer, elementDeserializer, nvp);
}
/*
/**********************************************************************
/* Abstract method overrides
/**********************************************************************
*/
@Override
protected Cache<Object, Object> createCache() {
return CacheBuilder.newBuilder().build();
}
@Override
protected JsonDeserializer<?> _createContextual(MapLikeType t,
KeyDeserializer kd, TypeDeserializer vtd, JsonDeserializer<?> vd, NullValueProvider np)
{
return new SimpleCacheDeserializer(t, kd, vtd, vd, np);
}
}