override fun apply()

in thrifty-schema/src/main/kotlin/com/microsoft/thrifty/schema/FieldNamingPolicy.kt [58:81]


            override fun apply(name: String): String {
                val caseFormat = caseFormatOf(name)
                if (caseFormat != null) {
                    val formattedName = caseFormat.to(CaseFormat.LOWER_CAMEL, name)
                    // Handle acronym as camel case made it lower case.
                    return if (name.length > 1
                            && formattedName.length > 1
                            && Character.isUpperCase(name[0])
                            && Character.isUpperCase(name[1])
                            && caseFormat !== CaseFormat.UPPER_UNDERSCORE) {
                        name[0] + formattedName.substring(1)
                    } else {
                        formattedName
                    }
                }

                // Unknown case format. Handle the acronym.
                if (Character.isUpperCase(name[0])) {
                    if (name.length == 1 || !Character.isUpperCase(name[1])) {
                        return Character.toLowerCase(name[0]) + name.substring(1)
                    }
                }
                return name
            }