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 TypeMethodDescriptionvoid
bindItem
(ObjectIdGenerator.IdKey id, Object ob) Method called when a POJO is deserialized and has an Object Identifier.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 (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: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.- Specified by:
bindItem
in interfaceObjectIdResolver
- Parameters:
id
- The Object Identifierob
- The POJO associated to that Identifier
-
resolveId
Description copied from interface:ObjectIdResolver
Method called when deserialization encounters the given Object Identifier and requires the POJO associated with it.- Specified by:
resolveId
in interfaceObjectIdResolver
- Parameters:
id
- The Object Identifier- Returns:
- The POJO, or null if unable to resolve.
-
canUseFor
Description copied from interface:ObjectIdResolver
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)
).- Specified by:
canUseFor
in interfaceObjectIdResolver
- Returns:
- True if this instance can be used as-is; false if not
-
newForDeserialization
Description copied from interface:ObjectIdResolver
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.- Specified by:
newForDeserialization
in interfaceObjectIdResolver
- 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.
-