下面列出了怎么用org.springframework.cache.support.NullValue的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
public void serialize(NullValue value, JsonGenerator jgen, SerializerProvider provider)
throws IOException {
jgen.writeStartObject();
jgen.writeStringField(classIdentifier, NullValue.class.getName());
jgen.writeEndObject();
}
@Override
protected Object lookup(Object key) {
CacheObject cacheObject = cacheChannel.get(j2CacheName, String.valueOf(key));
if (cacheObject.rawValue() != null && cacheObject.rawValue().getClass().equals(NullObject.class)
&& super.isAllowNullValues()) {
return NullValue.INSTANCE;
}
return cacheObject.getValue();
}
@Override
protected Object lookup(Object key) {
CacheObject cacheObject = cacheChannel.get(j2CacheName, String.valueOf(key), false);
if(cacheObject.rawValue() != null && cacheObject.rawValue().getClass().equals(NullObject.class) && super.isAllowNullValues()) {
return NullValue.INSTANCE;
}
return cacheObject.getValue();
}
@Override
protected Object lookup(Object key) {
Object value = j2Cache.get(name, getKey(key), false).rawValue();
if (value == null || value.getClass().equals(Object.class)) {
return null;
}
if (value.getClass().equals(NullObject.class)) {
return NullValue.INSTANCE;
}
return value;
}
@Override
protected Object lookup(Object key) {
CacheObject cacheObject = cacheChannel.get(j2CacheName, String.valueOf(key), false);
if(cacheObject.rawValue() != null && cacheObject.rawValue().getClass().equals(NullObject.class) && super.isAllowNullValues()) {
return NullValue.INSTANCE;
}
return cacheObject.getValue();
}
@Test
public void whenPutNullThenStoreNullValueInstance() {
when(memcachedClient.get(namespaceKey)).thenReturn(NAMESPACE_KEY_VALUE);
memcachedCache.put(CACHED_OBJECT_KEY, null);
verify(memcachedClient).get(namespaceKey);
verify(memcachedClient).set(memcachedKey, CACHE_EXPIRATION, NullValue.INSTANCE);
verify(memcachedClient).touch(namespaceKey, CACHE_EXPIRATION);
}
/**
* @param classIdentifier can be {@literal null} and will be defaulted to {@code @class}.
*/
CustomNullValueSerializer(@Nullable String classIdentifier) {
super(NullValue.class);
this.classIdentifier = StringUtils.hasText(classIdentifier) ? classIdentifier : "@class";
}
NullValueSerializer(@Nullable String classIdentifier) {
super(NullValue.class);
this.classIdentifier = StringUtils.hasText(classIdentifier) ? classIdentifier : "@class";
}
@Override
public void serialize(NullValue value, JsonGenerator jgen, SerializerProvider provider) throws IOException {
jgen.writeStartObject();
jgen.writeStringField(this.classIdentifier, NullValue.class.getName());
jgen.writeEndObject();
}