@Target(value={ANNOTATION_TYPE,METHOD,CONSTRUCTOR}) @Retention(value=RUNTIME) public @interface JsonCreator
NOTE: when annotating creator methods (constructors, factory methods), method must either be:
JsonProperty
    annotation for the argument: if so, this is so-called "delegate creator",
    in which case Jackson first binds JSON into type of the argument, and
    then calls creator. This is often used in conjunction with JsonValue
    (used for serialization).
   JsonProperty or JacksonInject, to indicate name
   of property to bind to
  JsonProperty annotations must specify actual name
 (NOT empty String for "default") unless you use one of extension modules
 that can detect parameter name; this because default JDK versions before 8
 have not been able to store and/or retrieve parameter names from bytecode.
 But with JDK 8 (or using helper libraries such as Paranamer, or other JVM
 languages like Scala or Kotlin), specifying name is optional.
 One common use case is to use a delegating Creator to construct instances from
 scalar values (like java.lang.String) during deserialization,
 and serialize values using JsonValue.
 NOTE: As of Jackson 2.6, use of JsonProperty.required() is supported
 for Creator methods (but not necessarily for regular setters or fields!).
JsonCreator| Modifier and Type | Optional Element and Description | 
|---|---|
| JsonCreator.Mode | modeProperty that is used to indicate how argument(s) is/are bound for creator,
 in cases there may be multiple alternatives. | 
public abstract JsonCreator.Mode mode
JsonCreator.Mode for more complete explanation of possible choices.
 Default value of JsonCreator.Mode.DEFAULT means that caller is to use standard
 heuristics for choosing mode to use.
Copyright © 2019 JBoss by Red Hat. All rights reserved.