com.fasterxml.jackson.databind.deser.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 com.fasterxml.jackson.databind.deser;
import com.fasterxml.jackson.databind.*;
/**
* 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.
*/
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 ctxt Deserialization context to access configuration, additional
* deserializers that may be needed by this deserializer
* @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(DeserializationContext ctxt,
BeanProperty property)
throws JsonMappingException;
}