package com.fasterxml.jackson.databind.introspect; import java.util.Map; import com.fasterxml.jackson.databind.*; import com.fasterxml.jackson.databind.introspect.BasicClassIntrospector; import com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector; import com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder; public class TestBuilderMethods extends BaseMapTest { static class SimpleBuilder { public int x; public SimpleBuilder withX(int x0) { this.x = x0; return this; } } /* /********************************************************** /* Unit tests /********************************************************** */ private final ObjectMapper mapper = new ObjectMapper(); public void testSimple() { POJOPropertiesCollector coll = collector(SimpleBuilder.class, "with"); Map<String, POJOPropertyBuilder> props = coll.getPropertyMap(); assertEquals(1, props.size()); POJOPropertyBuilder prop = props.get("x"); assertNotNull(prop); assertTrue(prop.hasField()); assertFalse(prop.hasGetter()); assertTrue(prop.hasSetter()); } /* /********************************************************** /* Helper methods /********************************************************** */ protected POJOPropertiesCollector collector(Class<?> cls, String prefix) { BasicClassIntrospector bci = new BasicClassIntrospector(); // no real difference between serialization, deserialization, at least here return bci.collectProperties(mapper.getSerializationConfig(), mapper.constructType(cls), null, false, prefix); } }