Currently granularity of config overrides is coarse: there is the global default for everything, and then overrides for exact (base) type. But there are many cases where one would want to apply settings to category of types, such as:
- All
enums
Collections
- Anything serialized as JSON Array (Collections, arrays)
- Anything structured (serialized as JSON Arrays, Objects)
- Scalars
- Reference types (Optional, AtomicReference)
If so, we would get 3 levels:
- Global defaults
- Type categories (possibly limited hierarchy, 2-3 levels at most)
- Types
It should be possible to just create an enumeration, with tree structure linking levels, to automatically handle level (2). A little bit goes a long way here, as well, no need for dozens of categories or attempts at overlapping (not neatly contained) categories.