Commit Graph

7 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
Moritz Halbritter 3fa7c3a521 Improve null-safety of module/spring-boot-ldap
See gh-46926
2025-08-26 14:22:55 +02:00
Moritz Halbritter 7ad90fb963 Improve null-safety of core/spring-boot-docker-compose
See gh-46926
2025-08-26 14:22:53 +02:00
Stéphane Nicoll b5b95b88c9 Review configuration properties
This commit reviews the configuration properties to fix a number of
oddities found in the first milestone:

* Additional configuration metadata file in the wrong location.
* Missing manual error metadata for removed properties

Closes gh-46535
2025-08-18 11:41:07 +02:00
Moritz Halbritter 97ad5cb204 Add nullability annotations to module/spring-boot-ldap
See gh-46587
2025-08-04 11:27:41 +02:00
Moritz Halbritter c0f1f641ce Make auto-configurations final and remove public members
Closes gh-32883
2025-07-29 09:48:49 +02:00
Phillip Webb decc32dde3 Restructure project directories to better fit Gradle
Closes gh-46358
2025-07-10 17:54:08 -07:00