Annotation Interface JacksonInject


@Target({ANNOTATION_TYPE,METHOD,FIELD,PARAMETER}) @Retention(RUNTIME) public @interface JacksonInject
Jackson-specific annotation used for indicating that value of annotated property will be "injected", i.e. set based on value configured by ObjectMapper (usually on per-call basis). Usually property is not deserialized from JSON, although it is possible to have injected value as default and still allow optional override from JSON.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    Helper class used to contain information from a single JacksonInject annotation, as well as to provide possible overrides from non-annotation sources.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Whether to throw an exception when the ObjectMapper does not find the value to inject.
    Whether matching value from input (if any) is used for annotated property or not; if disabled (`OptBoolean.FALSE`), input value (if any) will be ignored; otherwise it will override injected value.
    Logical id of the value to inject; if not specified (or specified as empty String), will use id based on declared type of property.
  • Element Details

    • value

      String value
      Logical id of the value to inject; if not specified (or specified as empty String), will use id based on declared type of property.
      Returns:
      Logical id of the value to inject
      Default:
      ""
    • useInput

      OptBoolean useInput
      Whether matching value from input (if any) is used for annotated property or not; if disabled (`OptBoolean.FALSE`), input value (if any) will be ignored; otherwise it will override injected value.

      Default is `OptBoolean.DEFAULT`, which translates to `OptBoolean.TRUE`.

      Returns:
      OptBoolean.TRUE to enable use of value from input instead of injected value, if available; OptBoolean.FALSE if injected value will always be used regardless of input.
      Default:
      DEFAULT
    • optional

      OptBoolean optional
      Whether to throw an exception when the ObjectMapper does not find the value to inject.

      Default is OptBoolean.DEFAULT for backwards-compatibility: in this case ObjectMapper defaults are used (which in turn are same as {code OptBoolean.FALSE}).

      Returns:
      OptBoolean.FALSE to throw an exception; OptBoolean.TRUE to avoid throwing it; or OptBoolean.DEFAULT to use configure defaults (which are same as OptBoolean.FALSE for Jackson 2.x)
      Default:
      DEFAULT