@@ -548,6 +548,7 @@ public void serializeWithType(Object bean, JsonGenerator gen,
548
548
throws IOException
549
549
{
550
550
if (_objectIdWriter != null ) {
551
+ gen .setCurrentValue (bean ); // [databind#631]
551
552
_serializeWithObjectId (bean , gen , provider , typeSer );
552
553
return ;
553
554
}
@@ -558,6 +559,7 @@ public void serializeWithType(Object bean, JsonGenerator gen,
558
559
} else {
559
560
typeSer .writeCustomTypePrefixForObject (bean , gen , typeStr );
560
561
}
562
+ gen .setCurrentValue (bean ); // [databind#631]
561
563
if (_propertyFilterId != null ) {
562
564
serializeFieldsFiltered (bean , gen , provider );
563
565
} else {
@@ -570,10 +572,8 @@ public void serializeWithType(Object bean, JsonGenerator gen,
570
572
}
571
573
}
572
574
573
- protected final void _serializeWithObjectId (Object bean ,
574
- JsonGenerator gen , SerializerProvider provider ,
575
- boolean startEndObject )
576
- throws IOException , JsonGenerationException
575
+ protected final void _serializeWithObjectId (Object bean , JsonGenerator gen , SerializerProvider provider ,
576
+ boolean startEndObject ) throws IOException
577
577
{
578
578
final ObjectIdWriter w = _objectIdWriter ;
579
579
WritableObjectId objectId = provider .findObjectId (bean , w .generator );
@@ -601,10 +601,8 @@ protected final void _serializeWithObjectId(Object bean,
601
601
}
602
602
}
603
603
604
- protected final void _serializeWithObjectId (Object bean ,
605
- JsonGenerator gen , SerializerProvider provider ,
606
- TypeSerializer typeSer )
607
- throws IOException , JsonGenerationException
604
+ protected final void _serializeWithObjectId (Object bean , JsonGenerator gen , SerializerProvider provider ,
605
+ TypeSerializer typeSer ) throws IOException
608
606
{
609
607
final ObjectIdWriter w = _objectIdWriter ;
610
608
WritableObjectId objectId = provider .findObjectId (bean , w .generator );
@@ -622,10 +620,9 @@ protected final void _serializeWithObjectId(Object bean,
622
620
_serializeObjectId (bean , gen , provider , typeSer , objectId );
623
621
}
624
622
625
- protected void _serializeObjectId (Object bean ,
626
- JsonGenerator gen ,SerializerProvider provider ,
627
- TypeSerializer typeSer , WritableObjectId objectId )
628
- throws IOException , JsonProcessingException , JsonGenerationException {
623
+ protected void _serializeObjectId (Object bean , JsonGenerator gen ,SerializerProvider provider ,
624
+ TypeSerializer typeSer , WritableObjectId objectId ) throws IOException
625
+ {
629
626
final ObjectIdWriter w = _objectIdWriter ;
630
627
String typeStr = (_typeId == null ) ? null :_customTypeId (bean );
631
628
if (typeStr == null ) {
0 commit comments