@@ -65,12 +65,6 @@ public abstract class BeanSerializerBase
65
65
*/
66
66
final protected BeanPropertyWriter [] _filteredProps ;
67
67
68
- /**
69
- * Handler for {@link com.fasterxml.jackson.annotation.JsonAnyGetter}
70
- * annotated properties
71
- */
72
- final protected AnyGetterWriter _anyGetterWriter ;
73
-
74
68
/**
75
69
* Id of the bean property filter to use, if any; null if none.
76
70
*/
@@ -118,13 +112,11 @@ protected BeanSerializerBase(JavaType type, BeanSerializerBuilder builder,
118
112
// 20-Sep-2019, tatu: Actually not just that but also "dummy" serializer for
119
113
// case of no bean properties, too
120
114
_typeId = null ;
121
- _anyGetterWriter = null ;
122
115
_propertyFilterId = null ;
123
116
_objectIdWriter = null ;
124
117
_serializationShape = null ;
125
118
} else {
126
119
_typeId = builder .getTypeId ();
127
- _anyGetterWriter = builder .getAnyGetter ();
128
120
_propertyFilterId = builder .getFilterId ();
129
121
_objectIdWriter = builder .getObjectIdWriter ();
130
122
final JsonFormat .Value format = builder .getBeanDescription ().findExpectedFormat ();
@@ -141,7 +133,6 @@ protected BeanSerializerBase(BeanSerializerBase src,
141
133
_filteredProps = filteredProperties ;
142
134
143
135
_typeId = src ._typeId ;
144
- _anyGetterWriter = src ._anyGetterWriter ;
145
136
_objectIdWriter = src ._objectIdWriter ;
146
137
_propertyFilterId = src ._propertyFilterId ;
147
138
_serializationShape = src ._serializationShape ;
@@ -165,7 +156,6 @@ protected BeanSerializerBase(BeanSerializerBase src,
165
156
_filteredProps = src ._filteredProps ;
166
157
167
158
_typeId = src ._typeId ;
168
- _anyGetterWriter = src ._anyGetterWriter ;
169
159
_objectIdWriter = objectIdWriter ;
170
160
_propertyFilterId = filterId ;
171
161
_serializationShape = src ._serializationShape ;
@@ -209,7 +199,6 @@ protected BeanSerializerBase(BeanSerializerBase src, Set<String> toIgnore, Set<S
209
199
_filteredProps = (fpropsOut == null ) ? null : fpropsOut .toArray (new BeanPropertyWriter [fpropsOut .size ()]);
210
200
211
201
_typeId = src ._typeId ;
212
- _anyGetterWriter = src ._anyGetterWriter ;
213
202
_objectIdWriter = src ._objectIdWriter ;
214
203
_propertyFilterId = src ._propertyFilterId ;
215
204
_serializationShape = src ._serializationShape ;
@@ -401,9 +390,11 @@ public void resolve(SerializerProvider provider)
401
390
}
402
391
403
392
// also, any-getter may need to be resolved
404
- if (_anyGetterWriter != null ) {
405
- // 23-Feb-2015, tatu: Misleading, as this actually triggers call to contextualization...
406
- _anyGetterWriter .resolve (provider );
393
+ for (int i = 0 ; i < _props .length ; i ++) {
394
+ BeanPropertyWriter prop = _props [i ];
395
+ if (prop instanceof AnyGetterWriter ) {
396
+ ((AnyGetterWriter ) prop ).resolve (provider );
397
+ }
407
398
}
408
399
}
409
400
@@ -769,9 +760,6 @@ protected void serializeFields(Object bean, JsonGenerator gen, SerializerProvide
769
760
prop .serializeAsField (bean , gen , provider );
770
761
}
771
762
}
772
- if (_anyGetterWriter != null ) {
773
- _anyGetterWriter .getAndSerialize (bean , gen , provider );
774
- }
775
763
} catch (Exception e ) {
776
764
String name = (i == props .length ) ? "[anySetter]" : props [i ].getName ();
777
765
wrapAndThrow (provider , e , bean , name );
@@ -820,9 +808,6 @@ protected void serializeFieldsFiltered(Object bean, JsonGenerator gen,
820
808
filter .serializeAsField (bean , gen , provider , prop );
821
809
}
822
810
}
823
- if (_anyGetterWriter != null ) {
824
- _anyGetterWriter .getAndFilter (bean , gen , provider , filter );
825
- }
826
811
} catch (Exception e ) {
827
812
String name = (i == props .length ) ? "[anySetter]" : props [i ].getName ();
828
813
wrapAndThrow (provider , e , bean , name );
0 commit comments