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
  • Field Details

    • _item

      protected Object _item
      Since:
      2.8 (with this name, formerly `public Object item`)
    • _key

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

      protected LinkedList<ReadableObjectId.Referring> _referringProperties
    • _resolver

      protected com.fasterxml.jackson.annotation.ObjectIdResolver _resolver
  • Constructor Details

    • ReadableObjectId

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

    • 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(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 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 String toString()
      Overrides:
      toString in class Object