@@ -560,6 +560,9 @@ public abstract WritableObjectId findObjectId(Object forPojo,
560560 * Note that serializers produced should NOT handle polymorphic serialization
561561 * aspects; separate {@link TypeSerializer} is to be constructed by caller
562562 * if and as necessary.
563+ *<p>
564+ * Note: this call will also contextualize serializer (call
565+ * {@code serializer.createContextual()}) before returning it.
563566 *
564567 * @throws JsonMappingException if there are fatal problems with
565568 * accessing suitable serializer; including that of not
@@ -602,7 +605,8 @@ public JsonSerializer<Object> findValueSerializer(Class<?> valueType, BeanProper
602605 * This is necessary for accurate handling of external type information,
603606 * to handle polymorphic types.
604607 *<p>
605- * Note: this call will also contextualize serializer before returning it.
608+ * Note: this call will also contextualize serializer (call
609+ * {@code serializer.createContextual()}) before returning it.
606610 *
607611 * @param property When creating secondary serializers, property for which
608612 * serializer is needed: annotations of the property (or bean that contains it)
@@ -634,9 +638,10 @@ public JsonSerializer<Object> findValueSerializer(JavaType valueType, BeanProper
634638 }
635639
636640 /**
637- * Method variant used when we do NOT want contextualization to happen; it will need
638- * to be handled at a later point, but caller wants to be able to do that
639- * as needed; sometimes to avoid infinite loops
641+ * Serializer lookup variant used when we do NOT want contextualization to happen;
642+ * while contextualization MUST be handled at some point (many serializers will not be
643+ * in usable state before contextualization), but caller wants to be able to do that
644+ * later; sometimes to avoid infinite loops.
640645 *
641646 * @since 2.5
642647 */
@@ -663,9 +668,10 @@ public JsonSerializer<Object> findValueSerializer(Class<?> valueType) throws Jso
663668 }
664669
665670 /**
666- * Method variant used when we do NOT want contextualization to happen; it will need
667- * to be handled at a later point, but caller wants to be able to do that
668- * as needed; sometimes to avoid infinite loops
671+ * Serializer lookup variant used when we do NOT want contextualization to happen;
672+ * while contextualization MUST be handled at some point (many serializers will not be
673+ * in usable state before contextualization), but caller wants to be able to do that
674+ * later; sometimes to avoid infinite loops.
669675 *
670676 * @since 2.5
671677 */
@@ -697,8 +703,10 @@ public JsonSerializer<Object> findValueSerializer(JavaType valueType)
697703 * certain that this is the primary property value serializer.
698704 *
699705 * @param valueType Type of values to serialize
700- * @param property Property that is being handled; will never be null, and its
701- * type has to match <code>valueType</code> parameter.
706+ * @param property Property that directly refers to value being serialized (optional,
707+ * may be {@code null} for root level serializers).
708+ * Should not be null if property is known. If not null,
709+ * its type must match {@code valueType} argument.
702710 *
703711 * @since 2.3
704712 */
0 commit comments