//Just some interface
public class Concrete implements Named {
public String getName() {
public void setName(String name) {
//Make Jackson aware that Named can be deserialized as Concrete
ObjectMapper objectMapper = new ObjectMapper();
SimpleModule mod = new SimpleModule("XXXXXX");
mod.addAbstractTypeMapping(Named.class, Concrete.class);
objectMapper = objectMapper.registerModule(mod);
//Inspect the detected deserializable properties on Named
JavaType javaType = objectMapper.getTypeFactory().constructType(Named.class);
BeanDescription desc = objectMapper.getDeserializationConfig().introspect(javaType);
//Check to see if name is deserializable
desc.findProperties().get(0).couldDeserialize(); //It isn't?