@@ -561,6 +561,9 @@ public abstract WritableObjectId findObjectId(Object forPojo,
561
561
* Note that serializers produced should NOT handle polymorphic serialization
562
562
* aspects; separate {@link TypeSerializer} is to be constructed by caller
563
563
* if and as necessary.
564
+ *<p>
565
+ * Note: this call will also contextualize serializer (call
566
+ * {@code serializer.createContextual()}) before returning it.
564
567
*
565
568
* @throws JsonMappingException if there are fatal problems with
566
569
* accessing suitable serializer; including that of not
@@ -603,7 +606,8 @@ public JsonSerializer<Object> findValueSerializer(Class<?> valueType, BeanProper
603
606
* This is necessary for accurate handling of external type information,
604
607
* to handle polymorphic types.
605
608
*<p>
606
- * Note: this call will also contextualize serializer before returning it.
609
+ * Note: this call will also contextualize serializer (call
610
+ * {@code serializer.createContextual()}) before returning it.
607
611
*
608
612
* @param property When creating secondary serializers, property for which
609
613
* serializer is needed: annotations of the property (or bean that contains it)
@@ -635,9 +639,10 @@ public JsonSerializer<Object> findValueSerializer(JavaType valueType, BeanProper
635
639
}
636
640
637
641
/**
638
- * Method variant used when we do NOT want contextualization to happen; it will need
639
- * to be handled at a later point, but caller wants to be able to do that
640
- * as needed; sometimes to avoid infinite loops
642
+ * Serializer lookup variant used when we do NOT want contextualization to happen;
643
+ * while contextualization MUST be handled at some point (many serializers will not be
644
+ * in usable state before contextualization), but caller wants to be able to do that
645
+ * later; sometimes to avoid infinite loops.
641
646
*
642
647
* @since 2.5
643
648
*/
@@ -664,9 +669,10 @@ public JsonSerializer<Object> findValueSerializer(Class<?> valueType) throws Jso
664
669
}
665
670
666
671
/**
667
- * Method variant used when we do NOT want contextualization to happen; it will need
668
- * to be handled at a later point, but caller wants to be able to do that
669
- * as needed; sometimes to avoid infinite loops
672
+ * Serializer lookup variant used when we do NOT want contextualization to happen;
673
+ * while contextualization MUST be handled at some point (many serializers will not be
674
+ * in usable state before contextualization), but caller wants to be able to do that
675
+ * later; sometimes to avoid infinite loops.
670
676
*
671
677
* @since 2.5
672
678
*/
@@ -698,8 +704,10 @@ public JsonSerializer<Object> findValueSerializer(JavaType valueType)
698
704
* certain that this is the primary property value serializer.
699
705
*
700
706
* @param valueType Type of values to serialize
701
- * @param property Property that is being handled; will never be null, and its
702
- * type has to match <code>valueType</code> parameter.
707
+ * @param property Property that directly refers to value being serialized (optional,
708
+ * may be {@code null} for root level serializers).
709
+ * Should not be null if property is known. If not null,
710
+ * its type must match {@code valueType} argument.
703
711
*
704
712
* @since 2.3
705
713
*/
0 commit comments