Class CreatorProperty

All Implemented Interfaces:
BeanProperty, Named, Serializable

public class CreatorProperty extends SettableBeanProperty
This concrete sub-class implements property that is passed via Creator (constructor or static factory method). It is not a full-featured implementation in that its set method should usually not be called for primary mutation -- instead, value must separately passed -- but some aspects are still needed (specifically, injection).

Note on injectable values: unlike with other mutators, where deserializer and injecting are separate, here we treat the two as related things. This is necessary to add proper priority, as well as to simplify coordination.

See Also:
  • Field Details

    • _annotated

      protected final AnnotatedParameter _annotated
      Placeholder that represents constructor parameter, when it is created from actual constructor. May be null when a synthetic instance is created.
    • _injectableValue

      protected final com.fasterxml.jackson.annotation.JacksonInject.Value _injectableValue
      Id of value to inject, if value injection should be used for this parameter (in addition to, or instead of, regular deserialization).
      Since:
      2.11
    • _fallbackSetter

      protected SettableBeanProperty _fallbackSetter
      In special cases, when implementing "updateValue", we cannot use constructors or factory methods, but have to fall back on using a setter (or mutable field property). If so, this refers to that fallback accessor.

      Mutable only to allow setting after construction, but must be strictly set before any use.

      Since:
      2.3
    • _creatorIndex

      protected final int _creatorIndex
      Since:
      2.1
    • _ignorable

      protected boolean _ignorable
      Marker flag that may have to be set during construction, to indicate that although property may have been constructed and added as a placeholder, it represents something that should be ignored during deserialization. This mostly concerns Creator properties which may not be easily deleted during processing.
      Since:
      2.9.4
  • Constructor Details

  • Method Details