com.fitbur.fasterxml.jackson.databind.deser.ContextualKeyDeserializer Maven / Gradle / Ivy
package com.fitbur.fasterxml.jackson.databind.com.fitburser;
import com.fitbur.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 com.fitburserializer to use for
* handling Map keys of supported type. This can be useful
* for key com.fitburserializers that can be configured by annotations, or should otherwise
* have differing behavior com.fitburpending on what kind of Map property keys are being com.fitburserialized.
*/
public interface ContextualKeyDeserializer
{
/**
* Method called to see if a different (or differently configured) key com.fitburserializer
* is needed to com.fitburserialize 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
* com.fitburserializers that may be needed by this com.fitburserializer
* @param property Method, field or constructor parameter that com.fitburclared Map for which
* contextual instance will be used. Will not be available when com.fitburserializing root-level
* Map value; otherwise should not be null.
*
* @return Key com.fitburserializer to use for com.fitburserializing keys specified Map property,
* may be this instance or a new instance.
*/
public KeyDeserializer createContextual(DeserializationContext ctxt,
BeanProperty property)
throws JsonMappingException;
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy