Class EnumNamingStrategies.CamelCaseStrategy

java.lang.Object
com.fasterxml.jackson.databind.EnumNamingStrategies.CamelCaseStrategy
All Implemented Interfaces:
EnumNamingStrategy
Enclosing class:
EnumNamingStrategies

public static class EnumNamingStrategies.CamelCaseStrategy extends Object implements EnumNamingStrategy

An implementation of EnumNamingStrategy that converts enum names in the typical upper snake case format to 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. converts contiguous sequence of underscores into a single underscore.
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.

These rules result in the following example conversions from upper snakecase names to camelcase names.

  • "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"
Since:
2.15