@@ -561,6 +561,9 @@ public abstract WritableObjectId findObjectId(Object forPojo,
561561 * Note that serializers produced should NOT handle polymorphic serialization
562562 * aspects; separate {@link TypeSerializer} is to be constructed by caller
563563 * if and as necessary.
564+ *<p>
565+ * Note: this call will also contextualize serializer (call
566+ * {@code serializer.createContextual()}) before returning it.
564567 *
565568 * @throws JsonMappingException if there are fatal problems with
566569 * accessing suitable serializer; including that of not
@@ -603,7 +606,8 @@ public JsonSerializer<Object> findValueSerializer(Class<?> valueType, BeanProper
603606 * This is necessary for accurate handling of external type information,
604607 * to handle polymorphic types.
605608 *<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.
607611 *
608612 * @param property When creating secondary serializers, property for which
609613 * serializer is needed: annotations of the property (or bean that contains it)
@@ -635,9 +639,10 @@ public JsonSerializer<Object> findValueSerializer(JavaType valueType, BeanProper
635639 }
636640
637641 /**
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.
641646 *
642647 * @since 2.5
643648 */
@@ -664,9 +669,10 @@ public JsonSerializer<Object> findValueSerializer(Class<?> valueType) throws Jso
664669 }
665670
666671 /**
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.
670676 *
671677 * @since 2.5
672678 */
@@ -698,8 +704,10 @@ public JsonSerializer<Object> findValueSerializer(JavaType valueType)
698704 * certain that this is the primary property value serializer.
699705 *
700706 * @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.
703711 *
704712 * @since 2.3
705713 */
0 commit comments