com.fasterxml.jackson.databind.deser.impl

## Class ObjectIdReader

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

- All Implemented Interfaces:
    java.io.Serializable

      public class ObjectIdReader
      extends java.lang.Object
      implements java.io.Serializable

  Object that knows how to deserialize Object Ids.
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected JsonDeserializer<java.lang.Object>` | `_deserializer` Deserializer used for deserializing id values.
    `protected JavaType` | `_idType`
    `com.fasterxml.jackson.annotation.ObjectIdGenerator<?>` | `generator` Blueprint generator instance: actual instance will be fetched from `SerializerProvider` using this as the key.
    `SettableBeanProperty` | `idProperty`
    `PropertyName` | `propertyName`
    `com.fasterxml.jackson.annotation.ObjectIdResolver` | `resolver`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `ObjectIdReader(JavaType t, PropertyName propName, com.fasterxml.jackson.annotation.ObjectIdGenerator<?> gen, JsonDeserializer<?> deser, SettableBeanProperty idProp)` Deprecated.
    `protected` | `ObjectIdReader(JavaType t, PropertyName propName, com.fasterxml.jackson.annotation.ObjectIdGenerator<?> gen, JsonDeserializer<?> deser, SettableBeanProperty idProp, com.fasterxml.jackson.annotation.ObjectIdResolver resolver)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static ObjectIdReader` | `construct(JavaType idType, PropertyName propName, com.fasterxml.jackson.annotation.ObjectIdGenerator<?> generator, JsonDeserializer<?> deser, SettableBeanProperty idProp)` Deprecated.
    `static ObjectIdReader` | `construct(JavaType idType, PropertyName propName, com.fasterxml.jackson.annotation.ObjectIdGenerator<?> generator, JsonDeserializer<?> deser, SettableBeanProperty idProp, com.fasterxml.jackson.annotation.ObjectIdResolver resolver)` Factory method called by `BeanSerializerBase` with the initial information based on standard settings for the type for which serializer is being built.
    `JsonDeserializer<java.lang.Object>` | `getDeserializer()`
    `JavaType` | `getIdType()`
    `boolean` | `isValidReferencePropertyName(java.lang.String name, com.fasterxml.jackson.core.JsonParser parser)` Convenience method, equivalent to calling: `readerInstance.generator.isValidReferencePropertyName(name, parser);` and used to determine whether Object Ids handled by the underlying generator may be in form of (JSON) Objects.
    `boolean` | `maySerializeAsObject()` Convenience method, equivalent to calling: `readerInstance.generator.maySerializeAsObject();` and used to determine whether Object Ids handled by the underlying generator may be in form of (JSON) Objects.
    `java.lang.Object` | `readObjectReference(com.fasterxml.jackson.core.JsonParser jp, DeserializationContext ctxt)` Method called to read value that is expected to be an Object Reference (that is, value of an Object Id used to refer to another object).

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

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

- - ### Field Detail

    - #### _idType

          protected final JavaType _idType

    - #### propertyName

          public final PropertyName propertyName

    - #### generator

          public final com.fasterxml.jackson.annotation.ObjectIdGenerator<?> generator

      Blueprint generator instance: actual instance will be fetched from `SerializerProvider` using this as the key.

    - #### resolver

          public final com.fasterxml.jackson.annotation.ObjectIdResolver resolver

    - #### _deserializer

          protected final JsonDeserializer<java.lang.Object> _deserializer

      Deserializer used for deserializing id values.

    - #### idProperty

          public final SettableBeanProperty idProperty

  - ### Constructor Detail

    - #### ObjectIdReader

          protected ObjectIdReader(JavaType t,
                        PropertyName propName,
                        com.fasterxml.jackson.annotation.ObjectIdGenerator<?> gen,
                        JsonDeserializer<?> deser,
                        SettableBeanProperty idProp,
                        com.fasterxml.jackson.annotation.ObjectIdResolver resolver)

    - #### ObjectIdReader

          @Deprecated
          protected ObjectIdReader(JavaType t,
                                   PropertyName propName,
                                   com.fasterxml.jackson.annotation.ObjectIdGenerator<?> gen,
                                   JsonDeserializer<?> deser,
                                   SettableBeanProperty idProp)

      Deprecated.

  - ### Method Detail

    - #### construct

          public static ObjectIdReader construct(JavaType idType,
                                 PropertyName propName,
                                 com.fasterxml.jackson.annotation.ObjectIdGenerator<?> generator,
                                 JsonDeserializer<?> deser,
                                 SettableBeanProperty idProp,
                                 com.fasterxml.jackson.annotation.ObjectIdResolver resolver)

      Factory method called by `BeanSerializerBase` with the initial information based on standard settings for the type for which serializer is being built.

    - #### construct

          @Deprecated
          public static ObjectIdReader construct(JavaType idType,
                                            PropertyName propName,
                                            com.fasterxml.jackson.annotation.ObjectIdGenerator<?> generator,
                                            JsonDeserializer<?> deser,
                                            SettableBeanProperty idProp)

      Deprecated.

    - #### getDeserializer

          public JsonDeserializer<java.lang.Object> getDeserializer()

    - #### getIdType

          public JavaType getIdType()

    - #### maySerializeAsObject

          public boolean maySerializeAsObject()

      Convenience method, equivalent to calling: `readerInstance.generator.maySerializeAsObject();` and used to determine whether Object Ids handled by the underlying generator may be in form of (JSON) Objects. Used for optimizing handling in cases where method returns false.
      Since:
        2.5

    - #### isValidReferencePropertyName

          public boolean isValidReferencePropertyName(java.lang.String name,
                                             com.fasterxml.jackson.core.JsonParser parser)

      Convenience method, equivalent to calling: `readerInstance.generator.isValidReferencePropertyName(name, parser);` and used to determine whether Object Ids handled by the underlying generator may be in form of (JSON) Objects. Used for optimizing handling in cases where method returns false.
      Since:
        2.5

    - #### readObjectReference

          public java.lang.Object readObjectReference(com.fasterxml.jackson.core.JsonParser jp,
                                             DeserializationContext ctxt)
                                               throws java.io.IOException

      Method called to read value that is expected to be an Object Reference (that is, value of an Object Id used to refer to another object).
      Throws:
        `java.io.IOException`
      Since:
        2.3