19
19
/**
20
20
* Base implementation for values of {@link ReferenceType}.
21
21
* Implements most of functionality, only leaving couple of abstract
22
- * methods for sub-classes to implement
22
+ * methods for sub-classes to implement.
23
23
*
24
24
* @since 2.8
25
25
*/
@@ -454,9 +454,12 @@ private final JsonSerializer<Object> _findCachedSerializer(SerializerProvider pr
454
454
// [databind#1673] Must ensure we will resolve all available type information
455
455
// so as not to miss generic declaration of, say, `List<GenericPojo>`...
456
456
JavaType fullType = provider .constructSpecializedType (_referredType , rawType );
457
- ser = provider .findContentValueSerializer (fullType , _property );
457
+ // 23-Oct-2019, tatu: I _think_ we actually need to consider referenced
458
+ // type as "primary" to allow applying various handlers -- done since 2.11
459
+
460
+ ser = provider .findPrimaryPropertySerializer (fullType , _property );
458
461
} else {
459
- ser = provider .findContentValueSerializer (rawType , _property );
462
+ ser = provider .findPrimaryPropertySerializer (rawType , _property );
460
463
}
461
464
if (_unwrapper != null ) {
462
465
ser = ser .unwrappingSerializer (_unwrapper );
@@ -474,6 +477,6 @@ private final JsonSerializer<Object> _findSerializer(SerializerProvider provider
474
477
// 15-Jan-2017, tatu: ... possibly because we need to access "secondary" serializer,
475
478
// not primary (primary being one for Reference type itself, not value)
476
479
// return provider.findTypedValueSerializer(type, true, prop);
477
- return provider .findContentValueSerializer (type , prop );
480
+ return provider .findPrimaryPropertySerializer (type , prop );
478
481
}
479
482
}
0 commit comments