Class EnumNamingStrategies.LowerCamelCaseStrategy

java.lang.Object
tools.jackson.databind.EnumNamingStrategies.DelegatingEnumNamingStrategy
tools.jackson.databind.EnumNamingStrategies.LowerCamelCaseStrategy
All Implemented Interfaces:
EnumNamingStrategy
Enclosing class:
EnumNamingStrategies

public static class EnumNamingStrategies.LowerCamelCaseStrategy extends EnumNamingStrategies.DelegatingEnumNamingStrategy

An implementation of EnumNamingStrategy that converts enum names in the typical upper snake case format to lower camel case format. This implementation follows three rules described below.

  1. converts any character preceded by an underscore into upper case character, regardless of its original case (upper or lower).
  2. converts any character NOT preceded by an underscore into a lower case character, regardless of its original case (upper or lower).
  3. removes all underscores.

WARNING: Naming conversion conflicts caused by underscore usage should be handled by client. e.g. Both PEANUT_BUTTER, PEANUT__BUTTER are converted into "peanutButter". And "peanutButter" will be deserialized into enum with smaller Enum.ordinal() value.

This results in the following example conversions:

  • "USER_NAME" is converted into "userName"
  • "USER______NAME" is converted into "userName"
  • "USERNAME" is converted into "username"
  • "User__Name" is converted into "userName"
  • "_user_name" is converted into "UserName"
  • "_user_name_s" is converted into "UserNameS"
  • "__Username" is converted into "Username"
  • "__username" is converted into "Username"
  • "username" is converted into "username"
  • "Username" is converted into "username"