Enable CreatorTest and drop the stale @JsonCreator limitation

Merged
DA
2mo ago
+21-7

Summary

  • Re-enable CreatorTest; the getAbsentValue() overrides added after the test was disabled now preserve JsonNullable.undefined() for absent creator properties.
  • Add a regression case that distinguishes an explicit JSON null from an absent sibling property.
  • Remove the stale @JsonCreator limitation from the README and document the supported behavior.

This changes tests and documentation only; it does not change production code.

Verification

I ran:

./mvnw -B clean verify -P integration-test

On JDK 25, the build completed successfully with 320 tests, 0 failures, 0 errors, and 3 expected @JsonUnwrapped skips. All three Maven Invoker integration builds passed.

The implementation session also performed a mutation check: removing either Jackson processor's getAbsentValue() override makes that processor's creator cases fail with the original symptom (JsonNullable[null] instead of JsonNullable.undefined()).

CI supplies the JDK 17 check that I could not reproduce locally.

AI disclosure

Claude Opus 5 implemented and tested this change. OpenAI Codex independently reviewed the diff and reran the full build. David authorized this automated contribution workflow and owns the submission. The commit keeps an explicit Co-Authored-By trailer for Claude.


Summary by cubic

Re-enabled CreatorTest and added a test to ensure absent @JsonCreator parameters deserialize as JsonNullable.undefined(), distinct from explicit nulls. Updated README to remove the stale @JsonCreator limitation and document the supported behavior; tests/docs only, no production code changes.