Top Description Methods
com.fasterxml.jackson.annotation

public Interface ObjectIdResolver

Known Direct Implementers
com.fasterxml.jackson.annotation.SimpleObjectIdResolver
Imports
com.fasterxml.jackson.annotation.ObjectIdGenerator.IdKey

Definition of API used for resolving actual Java object from Object Identifiers (as annotated using JsonIdentityInfo).
Since
2.4

Method Summary

Modifier and TypeMethod and Description
public void
bindItem(ObjectIdGenerator.IdKey
The Object Identifier
id
,
Object
The POJO associated to that Identifier
pojo
)

Method called when a POJO is deserialized and has an Object Identifier.

public boolean

Returns:

True if this instance can be used as-is; false if not
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 (using newForDeserialization).

public ObjectIdResolver
newForDeserialization(Object
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.
context
)

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

public Object

Returns:

The POJO, or null if unable to resolve.
resolveId
(ObjectIdGenerator.IdKey
The Object Identifier
id
)

Method called when deserialization encounters the given Object Identifier and requires the POJO associated with it.

Method Detail

bindItemback to summary
public void bindItem(ObjectIdGenerator.IdKey id, 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:ObjectIdGenerator.IdKey

The Object Identifier

pojo:Object

The POJO associated to that Identifier

canUseForback to summary
public 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 (using newForDeserialization).

Returns:boolean

True if this instance can be used as-is; false if not

newForDeserializationback to summary
public ObjectIdResolver 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).

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:Object

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.

resolveIdback to summary
public Object resolveId(ObjectIdGenerator.IdKey id)

Method called when deserialization encounters the given Object Identifier and requires the POJO associated with it.

Parameters
id:ObjectIdGenerator.IdKey

The Object Identifier

Returns:Object

The POJO, or null if unable to resolve.