…lines 1–17 unchanged (17 lines)
18
19 /**
20 * Method (or field) that represents the "any getter"
21 */
22 protected final AnnotatedMember _accessor;
23
24 protected JsonSerializer<Object> _serializer;
25
26 protected MapSerializer _mapSerializer;
27
28 @SuppressWarnings("unchecked")
29 public AnyGetterWriter(BeanProperty property,
30 AnnotatedMember accessor, JsonSerializer<?> serializer)
31 {
32 _accessor = accessor;
33 _property = property;
34 _serializer = (JsonSerializer<Object>) serializer;
35 if (serializer instanceof MapSerializer) {
36 _mapSerializer = (MapSerializer) serializer;
37 }
38 }
39
40 public void getAndSerialize(Object bean, JsonGenerator gen, SerializerProvider provider)
41 throws Exception
42 {
43 Object value = _accessor.getValue(bean);
…lines 44–49 unchanged (6 lines)
50 }
51 // 23-Feb-2015, tatu: Nasty, but has to do (for now)
52 if (_mapSerializer != null) {
53 _mapSerializer.serializeFields((Map<?,?>) value, gen, provider);
54 return;
55 }
56 _serializer.serialize(value, gen, provider);
57 }
58
59 /**
60 * @since 2.3
61 */
62 public void getAndFilter(Object bean, JsonGenerator gen, SerializerProvider provider,
…lines 63–73 unchanged (11 lines)
74 // 19-Oct-2014, tatu: Should we try to support @JsonInclude options here?
75 if (_mapSerializer != null) {
76 _mapSerializer.serializeFilteredFields((Map<?,?>) value, gen, provider, filter, null);
77 return;
78 }
79 // ... not sure how custom handler would do it
80 _serializer.serialize(value, gen, provider);
81 }
82
83 // Note: NOT part of ResolvableSerializer...
84 @SuppressWarnings("unchecked")
85 public void resolve(SerializerProvider provider) throws JsonMappingException
86 {
87 // 05-Sep-2013, tatu: I _think_ this can be considered a primary property...
88 if (_serializer instanceof ContextualSerializer) {
89 JsonSerializer<?> ser = provider.handlePrimaryContextualization(_serializer, _property);
90 _serializer = (JsonSerializer<Object>) ser;
91 if (ser instanceof MapSerializer) {
92 _mapSerializer = (MapSerializer) ser;
93 }
94 }
95 }
96}
97