com.fasterxml.jackson.databind

## 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

### Field Summary

Fields
`static EnumNamingStrategies.CamelCaseStrategy` `INSTANCE` An intance of `EnumNamingStrategies.CamelCaseStrategy` for reuse.

### Constructor Summary

Constructors
Constructor and Description
`CamelCaseStrategy()`

### Method Summary

All Methods Instance Methods Concrete Methods
`String` `convertEnumToExternalName(String enumName)` Translates the given `enumName` into an external property name according to the implementation of this `EnumNamingStrategy`.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### INSTANCE

    public static final EnumNamingStrategies.CamelCaseStrategy INSTANCE

An intance of `EnumNamingStrategies.CamelCaseStrategy` for reuse.

Since:
  2.15

### Constructor Detail

#### CamelCaseStrategy

    public CamelCaseStrategy()

### Method Detail

#### convertEnumToExternalName

    public String convertEnumToExternalName(String enumName)

Description copied from interface: `EnumNamingStrategy`
Translates the given `enumName` into an external property name according to the implementation of this `EnumNamingStrategy`.

Specified by:
  `convertEnumToExternalName` in interface `EnumNamingStrategy`
Parameters:
  `enumName` - the name of the enum value to translate
Returns:
  the external property name that corresponds to the given `enumName` according to the implementation of this `EnumNamingStrategy`.
Since:
  2.15