com.fasterxml.jackson.databind.deser.impl

## Class ReadableObjectId

- java.lang.Object
- - com.fasterxml.jackson.databind.deser.impl.ReadableObjectId

    public class ReadableObjectId
    extends Object

Simple value container for containing information about single Object Id during deserialization

### Nested Class Summary

Nested Classes
`static class` `ReadableObjectId.Referring`

### Field Summary

Fields
`protected ObjectIdGenerator.IdKey` `_key`
`protected LinkedList<ReadableObjectId.Referring>` `_referringProperties`
`protected ObjectIdResolver` `_resolver`
`Object` `id` Deprecated.
`Object` `item` Deprecated. Change visibility, if possible; prefer using `resolve()`, which is able to handle external id resolving mechanism.

### Constructor Summary

Constructors
Constructor and Description
`ReadableObjectId(Object id)` Deprecated.
`ReadableObjectId(ObjectIdGenerator.IdKey key)`

### Method Summary

Methods
`void` `appendReferring(ReadableObjectId.Referring currentReferring)`
`void` `bindItem(Object ob)` Method called to assign actual POJO to which ObjectId refers to: will also handle referring properties, if any, by assigning POJO.
`ObjectIdGenerator.IdKey` `getKey()`
`ObjectIdResolver` `getResolver()` Allow access to the resolver in case anybody wants to use it directly, for examples from `DefaultDeserializationContext.tryToResolveUnresolvedObjectId(com.fasterxml.jackson.databind.deser.impl.ReadableObjectId)`.
`boolean` `hasReferringProperties()`
`Iterator<ReadableObjectId.Referring>` `referringProperties()`
`Object` `resolve()`
`void` `setResolver(ObjectIdResolver resolver)`
`String` `toString()`
`boolean` `tryToResolveUnresolved(DeserializationContext ctxt)` Method called by `DeserializationContext` at the end of deserialization if this Object Id was not resolved during normal processing.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### item

    @Deprecated
    public Object item

Deprecated. Change visibility, if possible; prefer using `resolve()`, which is able to handle external id resolving mechanism.

#### id

    @Deprecated
    public final Object id

Deprecated.

#### _key

    protected final ObjectIdGenerator.IdKey _key

#### _referringProperties

    protected LinkedList<ReadableObjectId.Referring> _referringProperties

#### _resolver

    protected ObjectIdResolver _resolver

### Constructor Detail

#### ReadableObjectId

    @Deprecated
    public ReadableObjectId(Object id)

Deprecated.

#### ReadableObjectId

    public ReadableObjectId(ObjectIdGenerator.IdKey key)

### Method Detail

#### setResolver

    public void setResolver(ObjectIdResolver resolver)

#### getKey

    public ObjectIdGenerator.IdKey getKey()

#### appendReferring

    public void appendReferring(ReadableObjectId.Referring currentReferring)

#### bindItem

    public void bindItem(Object ob)
                  throws IOException

Method called to assign actual POJO to which ObjectId refers to: will also handle referring properties, if any, by assigning POJO.

Throws:
  `IOException`

#### resolve

    public Object resolve()

#### hasReferringProperties

    public boolean hasReferringProperties()

#### referringProperties

    public Iterator<ReadableObjectId.Referring> referringProperties()

#### tryToResolveUnresolved

    public boolean tryToResolveUnresolved(DeserializationContext ctxt)

Method called by `DeserializationContext` at the end of deserialization if this Object Id was not resolved during normal processing. Call is made to allow custom implementations to use alternative resolution strategies; currently the only way to make use of this functionality is by sub-classing `ReadableObjectId` and overriding this method.

Default implementation simply returns `false` to indicate that resolution attempt did not succeed.

Returns:
  True, if resolution succeeded (and no error needs to be reported); false to indicate resolution did not succeed.
Since:
  2.6

#### getResolver

    public ObjectIdResolver getResolver()

Allow access to the resolver in case anybody wants to use it directly, for examples from `DefaultDeserializationContext.tryToResolveUnresolvedObjectId(com.fasterxml.jackson.databind.deser.impl.ReadableObjectId)`.

Returns:
  The registered resolver
Since:
  2.7

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`