-
-
Notifications
You must be signed in to change notification settings - Fork 180
Open
Labels
Description
Use case
The NullToEmptyCollection
/Map
option can be replaced by configOverride
as follows
jacksonObjectMapper().apply {
configOverride(List::class.java).setterInfo = JsonSetter.Value.forValueNulls(Nulls.AS_EMPTY)
configOverride(Map::class.java).setterInfo = JsonSetter.Value.forValueNulls(Nulls.AS_EMPTY)
}
Also, the current NullToEmpty
option only applies to deserialization using creators and not to setters, a problem that will be resolved.
Describe the solution you'd like
Removing these options provides the following benefits
- Reduce the number of codes to be maintained
- Minor performance improvement for when the value is
nullish
Describe alternatives you've considered
The disadvantage of this method is that it requires an explicit specification for each type.
For example, a specification for List
will not apply to an ArrayList
.
Similarly, a specification made for a Collection
will not apply to a List
or Set
.
Therefore, the policy may be to switch only the backend of the process and leave it as a function.
Additional context
cowtowncoder