com.fasterxml.jackson.databind

## Class EnumNamingStrategies.KebabCaseStrategy

- java.lang.Object
- - com.fasterxml.jackson.databind.EnumNamingStrategies.DelegatingEnumNamingStrategy
  - - com.fasterxml.jackson.databind.EnumNamingStrategies.KebabCaseStrategy

All Implemented Interfaces:
  EnumNamingStrategy

Enclosing class:
  EnumNamingStrategies

    public static class EnumNamingStrategies.KebabCaseStrategy
    extends EnumNamingStrategies.DelegatingEnumNamingStrategy

An implementation of `EnumNamingStrategy` that converts enum names in the typical upper snake case format to upper camel case format. This implementation first normalizes to lower camel case using (see `EnumNamingStrategies.LowerCamelCaseStrategy` for details) and then uses `PropertyNamingStrategies.KebabCaseStrategy` to finish converting the name.

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

This results in the following example conversions:

- "USER_NAME" is converted into "user-name"
- "USER______NAME" is converted into "user-name"
- "USERNAME" is converted into "username"
- "User__Name" is converted into "user-name"
- "_user_name" is converted into "user-name"
- "_user_name_s" is converted into "user-name-s"
- "__Username" is converted into "username"
- "__username" is converted into "username"
- "username" is converted into "username"
- "Username" is converted into "username"

Since:
  2.19

### Field Summary

Fields
`static EnumNamingStrategies.KebabCaseStrategy` `INSTANCE` An instance of `EnumNamingStrategies.KebabCaseStrategy` for reuse.

### Constructor Summary

Constructors
`protected` `KebabCaseStrategy()`

### Method Summary

### Methods inherited from class com.fasterxml.jackson.databind.EnumNamingStrategies.DelegatingEnumNamingStrategy

`convertEnumToExternalName, toBeanName`

### 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.KebabCaseStrategy INSTANCE

An instance of `EnumNamingStrategies.KebabCaseStrategy` for reuse.

Since:
  2.19

### Constructor Detail

#### KebabCaseStrategy

    protected KebabCaseStrategy()