Annotation Type Jacksonized
The
@Jacksonized
annotation is an add-on annotation for
@
Builder
and @
SuperBuilder
. It automatically
configures the generated builder class to be used by Jackson's
deserialization. It only has an effect if present at a context where there is
also a @Builder
or a @SuperBuilder
; a warning is emitted
otherwise.
In particular, the annotation does the following:
- Configure Jackson to use the builder for deserialization using
@JsonDeserialize(builder=Foobar.FoobarBuilder[Impl].class)
on the class (where Foobar is the name of the annotated class). - Copy Jackson-related configuration annotations (like
@JsonIgnoreProperties
) from the class to the builder class. This is necessary so that Jackson recognizes them when using the builder. - Insert
@JsonPOJOBuilder(withPrefix="")
on the generated builder class to override Jackson's default prefix "with". If you configured a different prefix in lombok usingsetterPrefix
, this value is used. If you changed the name of thebuild()
method usingbuildMethodName
, this is also made known to Jackson. - For
@SuperBuilder
, make the builder implementation class package-private.
@Jacksonized
@SuperBuilder
remains fully compatible to
regular @SuperBuilder
s.