PropertyNamingStrategy (jackson-databind 2.12.0 API) (original) (raw)
Class that defines how names of JSON properties ("external names") are derived from names of POJO methods and fields ("internal names"), in cases where no explicit annotations exist for naming. Methods are passed information about POJO member for which name is needed, as well as default name that would be used if no custom strategy was used.
Default (empty) implementation returns suggested ("implicit" or "default") name unmodified
Note that the strategy is guaranteed to be called once per logical property (which may be represented by multiple members; such as pair of a getter and a setter), but may be called for each: implementations should not count on exact number of times, and should work for any member that represent a property. Also note that calls are made during construction of serializers and deserializers which are typically cached, and not for every time serializer or deserializer is called.
In absence of a registered custom strategy, the default Java property naming strategy is used, which leaves field names as is, and removes set/get/is prefix from methods (as well as lower-cases initial sequence of capitalized characters).
NOTE! Since 2.12 sub-classes defined here (as well as static singleton instances thereof) are deprecated due todatabind#2715. Please use constants and classes in PropertyNamingStrategies instead.