Commit Graph

10 Commits

Author SHA1 Message Date
Phillip Webb 239f384ac0 Update PropertyMapper to better support nullability
Refactor `PropertyMapper` so that it no longer calls adapter or
predicate methods by default when the source value is `null`. This
effectively makes all default calls the same as using
`alwaysWhenNotNull` in the previous generation of the code.

For the limited times when you do need to deal with `null` values, the
new `always()` method can be used.

For example,

	map.from(source::method).to(destination::method);

Will not call `destination.method(...)` if `source.method()` returns
`null`.

Where as:

	map.from(source::method).always().to(destination::method);

Will call  `destination.method(null)` if `source.method()` returns
`null`.

This update provides clearer semantics for the API and allows for better
JSpecify nullability annotations. It has also simplified much of our
existing property mapper code.

Closes gh-47024

Co-authored-by: Moritz Halbritter <moritz.halbritter@broadcom.com>
2025-09-05 14:43:33 -07:00
Andy Wilkinson d353038c58 Update Jackson support to require Jackson 3
Closes gh-45535
2025-09-02 11:37:09 +01:00
Moritz Halbritter c76b087025 Improve null-safety of core/spring-boot-autoconfigure
See gh-46926
2025-08-26 14:22:53 +02:00
Stéphane Nicoll dc68142bd1 Restore configuration metadata for spring.web.resources.chain.enabled
See b6e4533296
2025-08-18 11:41:07 +02:00
Moritz Halbritter da612ba6f8 Add more nullability annotations to core/spring-boot-autoconfigure
See gh-46587
2025-08-07 10:48:44 +02:00
Stéphane Nicoll a3b1c020d2 Adapt to latest change in Spring Framework snapshots 2025-08-07 09:34:30 +02:00
Moritz Halbritter b6e4533296 Add nullability annotations to core/spring-boot-autoconfigure
See gh-46587
2025-07-29 14:33:21 +02:00
Moritz Halbritter c0f1f641ce Make auto-configurations final and remove public members
Closes gh-32883
2025-07-29 09:48:49 +02:00
Andy Wilkinson 94215d3fdc Move Threading enum from spring-boot-autoconfigure to spring-boot
The enum itself is not specifically tied to auto-configuration so
spring-boot is a better place for it. The related condition,
`@ConditionalOnThreading`, remains in spring-boot-autoconfigure. This
aligns things with the similar `CloudPlatform` and
`@ConditionalOnCloudPlatform`.

Closes gh-46406
2025-07-11 13:49:41 +01:00
Phillip Webb decc32dde3 Restructure project directories to better fit Gradle
Closes gh-46358
2025-07-10 17:54:08 -07:00