| package com.fasterxml.jackson.failing; |
| |
| import java.util.*; |
| |
| import com.fasterxml.jackson.annotation.JsonTypeInfo; |
| import com.fasterxml.jackson.databind.*; |
| |
| // for [databind#1391]: should allow disabling of default typing |
| // via explicit {@link JsonTypeInfo} |
| public class DefaultTypingOverride1391Test extends BaseMapTest |
| { |
| static class ListWrapper { |
| /* 03-Oct-2016, tatu: This doesn't work because it applies to contents |
| * (elements), NOT the container. But there is no current mechanism |
| * to change that; need to add a new feature or properties in 2.9 |
| */ |
| @JsonTypeInfo(use = JsonTypeInfo.Id.NONE) |
| public Collection<String> stuff = Collections.emptyList(); |
| } |
| |
| public void testCollectionWithOverride() throws Exception |
| { |
| final ObjectMapper mapper = new ObjectMapper() |
| .enableDefaultTypingAsProperty(ObjectMapper.DefaultTyping.OBJECT_AND_NON_CONCRETE, |
| "$type"); |
| String json = mapper.writeValueAsString(new ListWrapper()); |
| assertEquals(aposToQuotes("{'stuff':[]}"), json); |
| } |
| } |