| package com.fasterxml.jackson.failing; |
| |
| import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility; |
| import com.fasterxml.jackson.annotation.PropertyAccessor; |
| import com.fasterxml.jackson.databind.*; |
| |
| public class RequireSetterForGetter736Test extends BaseMapTest |
| { |
| public static class DataB { |
| private int readonly; |
| private int readwrite; |
| |
| public DataB() { |
| readonly = 1; |
| readwrite = 2; |
| } |
| |
| public int getReadwrite() { |
| return readwrite; |
| } |
| public void setReadwrite(int readwrite) { |
| this.readwrite = readwrite; |
| } |
| public int getReadonly() { |
| return readonly; |
| } |
| } |
| |
| // for [databind#736] |
| public void testNeedForSetters() throws Exception |
| { |
| ObjectMapper mapper = new ObjectMapper(); |
| mapper.setVisibility(PropertyAccessor.ALL, Visibility.NONE); |
| mapper.setVisibility(PropertyAccessor.GETTER, Visibility.PUBLIC_ONLY); |
| mapper.setVisibility(PropertyAccessor.SETTER, Visibility.PUBLIC_ONLY); |
| mapper.enable(MapperFeature.REQUIRE_SETTERS_FOR_GETTERS); |
| DataB dataB = new DataB(); |
| |
| String json = mapper.writeValueAsString(dataB); |
| assertEquals(aposToQuotes("{'readwrite':2}"), json); |
| |
| } |
| } |