Package com.fasterxml.jackson.annotation
Interface ObjectIdResolver
- 
- All Known Implementing Classes:
 SimpleObjectIdResolver
public interface ObjectIdResolverDefinition of API used for resolving actual Java object from Object Identifiers (as annotated usingJsonIdentityInfo).- Since:
 - 2.4
 
 
- 
- 
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidbindItem(ObjectIdGenerator.IdKey id, java.lang.Object pojo)Method called when a POJO is deserialized and has an Object Identifier.booleancanUseFor(ObjectIdResolver resolverType)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 (usingnewForDeserialization(java.lang.Object)).ObjectIdResolvernewForDeserialization(java.lang.Object context)Factory method called to create a new instance to use for deserialization: needed since resolvers may have state (a pool of objects).java.lang.ObjectresolveId(ObjectIdGenerator.IdKey id)Method called when deserialization encounters the given Object Identifier and requires the POJO associated with it. 
 - 
 
- 
- 
Method Detail
- 
bindItem
void bindItem(ObjectIdGenerator.IdKey id, java.lang.Object pojo)
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.- Parameters:
 id- The Object Identiferpojo- The POJO associated to that Identifier
 
- 
resolveId
java.lang.Object resolveId(ObjectIdGenerator.IdKey id)
Method called when deserialization encounters the given Object Identifier and requires the POJO associated with it.- Parameters:
 id- The Object Identifier- Returns:
 - The POJO, or null if unable to resolve.
 
 
- 
newForDeserialization
ObjectIdResolver newForDeserialization(java.lang.Object context)
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.- Parameters:
 context- Deserialization context object used (of typecom.fasterxml.jackson.databind.DeserializationContext; may be needed by more complex resolvers to access contextual information such as configuration.
 
- 
canUseFor
boolean canUseFor(ObjectIdResolver resolverType)
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 (usingnewForDeserialization(java.lang.Object)).- Returns:
 - True if this instance can be used as-is; false if not
 
 
 - 
 
 -