All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.fitbur.fasterxml.jackson.databind.deser.ContextualKeyDeserializer Maven / Gradle / Ivy

There is a newer version: 1.0.0
Show newest version
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