Package com.fasterxml.jackson.annotation
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 ClassesModifier and TypeClassDescriptionstatic class
Helper class used to contain information from a singleJacksonInject
annotation, as well as to provide possible overrides from non-annotation sources. -
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionWhether to throw an exception when theObjectMapper
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 valueLogical 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 useInputWhether 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 optionalWhether to throw an exception when theObjectMapper
does not find the value to inject.Default is
OptBoolean.DEFAULT
for backwards-compatibility: in this caseObjectMapper
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; orOptBoolean.DEFAULT
to use configure defaults (which are same asOptBoolean.FALSE
for Jackson 2.x)
- Default:
- DEFAULT
-