The JacksonObjectArbitraryIntrospector is automatically set as the default introspector when the JacksonPlugin is added to the FixtureMonkey builder.
This introspector works by collecting the properties of a class into a map and then using a Jackson ObjectMapper to deserialize them into an object. This makes it a highly compatible, general-purpose choice, especially in mixed Java and Kotlin environments, because it leverages Jackson's existing logic for object creation.
Note on Performance: While highly compatible, it may be less efficient than other introspectors because it relies on the full Jackson deserialization process.
@Test
void test() {
FixtureMonkey fixtureMonkey = FixtureMonkey.builder()
.plugin(new JacksonPlugin())
.build();
Product product = fixtureMonkey.giveMeOne(Product.class);
}