[
https://issues.apache.org/jira/browse/TEXT-238?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gary D. Gregory resolved TEXT-238.
----------------------------------
Resolution: Won't Do
I don't think we should do this and open the door further to support every
variant for an API, we'd be just increasing the public API surface for very
little gain IMO.
> Overload CaseUtils.toCamelCase to default capitalizeFirstLetter=false
> ---------------------------------------------------------------------
>
> Key: TEXT-238
> URL: https://issues.apache.org/jira/browse/TEXT-238
> Project: Commons Text
> Issue Type: Improvement
> Affects Versions: 1.14.0
> Reporter: Kushal Dixit
> Priority: Minor
>
> Right now, {{CaseUtils.toCamelCase(String, boolean, char...)}} always
> requires specifying the {{capitalizeFirstLetter}} flag.
> In most real-world cases, users just want to convert a string to camelCase
> with the first letter lowercased by default, as that is basically what
> camelCase means originally.
> *Proposal:* add a new overload:
> {code:java}
> public static String toCamelCase(String str, char... delimiters) { ... }
> {code}
> * Since {{delimiters}} is already a varargs parameter, an overload without
> delimiters is not needed; callers can just omit it.
> * This overload will also be beneficial for *method references* in JDK 8+,
> making code like {{list.stream().map(CaseUtils::toCamelCase)}} cleaner.
> *Examples:*
> {code:java}
> CaseUtils.toCamelCase("java-utils", '-'); // javaUtils
> CaseUtils.toCamelCase("convert this string"); // convertThisString
> CaseUtils.toCamelCase("hello_world", '_') // helloWorld{code}
> *Why it’s useful:*
> Most callers just want the first letter lowercased. Requiring {{false}} every
> time is unnecessary boilerplate. This overload simplifies the API for the
> common case while keeping the existing method unchanged for backward
> compatibility.
> *Note:* Looking for feedback and approval. If this makes sense, I will raise
> a PR with proper documentation and unit tests.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)