org.codehaus.jackson.map.ContextualKeyDeserializer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ehcache Show documentation
Show all versions of ehcache Show documentation
Ehcache is an open source, standards-based cache used to boost performance,
offload the database and simplify scalability. Ehcache is robust, proven and full-featured and
this has made it the most widely-used Java-based cache.
package org.codehaus.jackson.map;
/**
* Add-on interface that {@link KeyDeserializer}s can implement to get a callback
* that can be used to create contextual instances of key deserializer to use for
* handling Map keys of supported type. This can be useful
* for key deserializers that can be configured by annotations, or should otherwise
* have differing behavior depending on what kind of Map property keys are being deserialized.
*
* @since 1.8
*/
public interface ContextualKeyDeserializer
{
/**
* Method called to see if a different (or differently configured) key deserializer
* is needed to deserialize keys of specified Map property.
* Note that instance that this method is called on is typically shared one and
* as a result method should NOT modify this instance but rather construct
* and return a new instance. This instance should only be returned as-is, in case
* it is already suitable for use.
*
* @param config Current deserialization configuration
* @param property Method, field or constructor parameter that declared Map for which
* contextual instance will be used. Will not be available when deserializing root-level
* Map value; otherwise should not be null.
*
* @return Key deserializer to use for deserializing keys specified Map property,
* may be this instance or a new instance.
*/
public KeyDeserializer createContextual(DeserializationConfig config,
BeanProperty property)
throws JsonMappingException;
}