Package com.fasterxml.jackson.annotation
Class SimpleObjectIdResolver
java.lang.Object
com.fasterxml.jackson.annotation.SimpleObjectIdResolver
- All Implemented Interfaces:
ObjectIdResolver
Simple implementation of
ObjectIdResolver- Author:
- Pascal Gélinas
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidbindItem(ObjectIdGenerator.IdKey id, Object ob) 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 (usingObjectIdResolver.newForDeserialization(java.lang.Object)).newForDeserialization(Object context) Factory method called to create a new instance to use for deserialization: needed since resolvers may have state (a pool of objects).Method called when deserialization encounters the given Object Identifier and requires the POJO associated with it.
-
Field Details
-
_items
-
-
Constructor Details
-
SimpleObjectIdResolver
public SimpleObjectIdResolver()
-
-
Method Details
-
bindItem
Description copied from interface:ObjectIdResolverMethod 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.- Specified by:
bindItemin interfaceObjectIdResolver- Parameters:
id- The Object Identifierob- The POJO associated to that Identifier
-
resolveId
Description copied from interface:ObjectIdResolverMethod called when deserialization encounters the given Object Identifier and requires the POJO associated with it.- Specified by:
resolveIdin interfaceObjectIdResolver- Parameters:
id- The Object Identifier- Returns:
- The POJO, or null if unable to resolve.
-
canUseFor
Description copied from interface:ObjectIdResolverMethod 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 (usingObjectIdResolver.newForDeserialization(java.lang.Object)).- Specified by:
canUseForin interfaceObjectIdResolver- Returns:
- True if this instance can be used as-is; false if not
-
newForDeserialization
Description copied from interface:ObjectIdResolverFactory 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
DeserializationContext, but can not be declared here as type itself (as well as call to this object) comes from databind package.- Specified by:
newForDeserializationin interfaceObjectIdResolver- Parameters:
context- Deserialization context object used (of typeDeserializationContext) ; may be needed by more complex resolvers to access contextual information such as configuration.
-