Repository navigation
Preserve immutable builder updates for unwrapped properties - #6372
cowtowncoder merged 10 commits into
Conversation
Added @JSONVIEW annotation to the x field in Point class.
…; deprecate 4-arg overload
Code Review ✅ Approved🟡 Medium risk · Builder unwrapped-property processing now retains returned instances and buffered creator fields; regressions could mispopulate deserialized immutable objects. Fixes immutable builder handling for unwrapped properties in VerificationRules No rules evaluated Functional validation Not enabledFor more verification details, comment OptionsAuto-apply is off → Gitar will not commit updates to this branch. Comment with these commands to change the behavior for this request:
Was this helpful? React with 👍 / 👎 | Powered by Gitar — free for open source |
UnwrappedPropertyHandler calls deserializeAndSet, discarding replacement instances returned by immutable builder methods. Default and property-based builders therefore finish with null unwrapped values.
Add a builder-specific entry point that preserves each returned instance and shares the existing view/empty-content handling. Ordinary bean setters retain their existing behavior. Also initialize creator continuation state from the already-buffered entries, so USE_NULL_FOR_EMPTY_UNWRAPPED does not drop content read before the creator completes. Existing continuation signatures are preserved.
Six regression tests cover default builders, creator parameters before/after unwrapped input, view filtering, absent content for both creator/default builders, and a mutable bean setter returning a non-bean value. The test-only baseline reproduces lost values in the default and creator cases.
The final full fork workflow passes on Java 17 (Ubuntu and Windows), 21 and 25: 7,618 tests, no failures or errors.
Regression control: https://github.com/wozhenbang2004/jackson-databind/actions/runs/41316189424
Passing final build: https://github.com/wozhenbang2004/jackson-databind/actions/runs/41317960786