<#import "../_features.html" as f> <@f.scaffold title="@Jacksonized" logline="Make Jackson use your builders."> <@f.history>

@Jacksonized was introduced as experimental feature in lombok v1.18.14.

<@f.overview>

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.

Without @Jacksonized, you would have to customize your builder class(es). With @Jacksonized, you can simply write something like this to let Jackson use the generated builder:

@Jacksonized @Builder
@JsonIgnoreProperties(ignoreUnknown = true)
public class JacksonExample {
	private List<Foo> foos;
}

This annotation is especially useful when deserializing into immutable (sub-)classes that only use @SuperBuilder to create instances. With @Jacksonized, you do not have to put the complex @SuperBuilder class header into your code just to configure it for Jackson.

This annotation does not change the behavior of the generated builder. A @Jacksonized @SuperBuilder remains fully compatible to regular @SuperBuilders.

<@f.smallPrint>

In particular, the annotation does the following: