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

nl.open.jwtdependency.com.fasterxml.jackson.annotation.ObjectIdResolver Maven / Gradle / Ivy

Go to download

This is a drop in replacement for the auth0 java-jwt library (see https://github.com/auth0/java-jwt). This jar makes sure there are no external dependencies (e.g. fasterXml, Apacha Commons) needed. This is useful when deploying to an application server (e.g. tomcat with Alfreso or Pega).

The newest version!
package com.fasterxml.jackson.annotation;

import com.fasterxml.jackson.annotation.ObjectIdGenerator.IdKey;

/**
 * Definition of API used for resolving actual Java object from
 * Object Identifiers (as annotated using {@link JsonIdentityInfo}).
 *
 * @since 2.4
 */
public interface ObjectIdResolver {
    /**
     * Method called when a POJO is deserialized and has an Object Identifier.
     * Method exists so that implementation can keep track of existing object in
     * JSON stream that could be useful for further resolution.
     * 
     * @param id The Object Identifer
     * @param pojo The POJO associated to that Identifier
     */
    void bindItem(IdKey id, Object pojo);

    /**
     * Method called when deserialization encounters the given Object Identifier
     * and requires the POJO associated with it.
     * 
     * @param id The Object Identifier
     * @return The POJO, or null if unable to resolve.
     */
    Object resolveId(IdKey id);

    /**
     * Factory method called to create a new instance to use for
     * deserialization: needed since resolvers may have state (a pool of
     * objects).
     * 

* Note that actual type of 'context' is * com.fasterxml.jackson.databind.DeserializationContext, but * can not be declared here as type itself (as well as call to this object) * comes from databind package. * * @param context * Deserialization context object used (of type * com.fasterxml.jackson.databind.DeserializationContext * ; may be needed by more complex resolvers to access contextual * information such as configuration. */ ObjectIdResolver newForDeserialization(Object context); /** * Method called to check whether this resolver instance can be used for * Object Ids of specific resolver type; determination is based by passing a * configured "blueprint" (prototype) instance; from which the actual * instances are created (using {@link #newForDeserialization}). * * @return True if this instance can be used as-is; false if not */ boolean canUseFor(ObjectIdResolver resolverType); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy