ReadableObjectId
Date: 2016-12-04

com.fasterxml.jackson.databind.deser.impl

## Class ReadableObjectId

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

-     public class ReadableObjectId
      extends java.lang.Object

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

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `ReadableObjectId.Referring`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.lang.Object` | `_item`
    `protected com.fasterxml.jackson.annotation.ObjectIdGenerator.IdKey` | `_key`
    `protected java.util.LinkedList<ReadableObjectId.Referring>` | `_referringProperties`
    `protected com.fasterxml.jackson.annotation.ObjectIdResolver` | `_resolver`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ReadableObjectId(com.fasterxml.jackson.annotation.ObjectIdGenerator.IdKey key)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `appendReferring(ReadableObjectId.Referring currentReferring)`
    `void` | `bindItem(java.lang.Object ob)` Method called to assign actual POJO to which ObjectId refers to: will also handle referring properties, if any, by assigning POJO.
    `com.fasterxml.jackson.annotation.ObjectIdGenerator.IdKey` | `getKey()`
    `com.fasterxml.jackson.annotation.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()`
    `java.util.Iterator<ReadableObjectId.Referring>` | `referringProperties()`
    `java.lang.Object` | `resolve()`
    `void` | `setResolver(com.fasterxml.jackson.annotation.ObjectIdResolver resolver)`
    `java.lang.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

          protected java.lang.Object _item

      Since:
        2.8 (with this name, formerly `public Object item`)

    - #### _key

          protected final com.fasterxml.jackson.annotation.ObjectIdGenerator.IdKey _key

    - #### _referringProperties

          protected java.util.LinkedList<ReadableObjectId.Referring> _referringProperties

    - #### _resolver

          protected com.fasterxml.jackson.annotation.ObjectIdResolver _resolver

  - ### Constructor Detail

    - #### ReadableObjectId

          public ReadableObjectId(com.fasterxml.jackson.annotation.ObjectIdGenerator.IdKey key)

  - ### Method Detail

    - #### setResolver

          public void setResolver(com.fasterxml.jackson.annotation.ObjectIdResolver resolver)

    - #### getKey

          public com.fasterxml.jackson.annotation.ObjectIdGenerator.IdKey getKey()

    - #### appendReferring

          public void appendReferring(ReadableObjectId.Referring currentReferring)

    - #### bindItem

          public void bindItem(java.lang.Object ob)
                        throws java.io.IOException

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

    - #### resolve

          public java.lang.Object resolve()

    - #### hasReferringProperties

          public boolean hasReferringProperties()

    - #### referringProperties

          public java.util.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 com.fasterxml.jackson.annotation.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 java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`