[ 
https://issues.apache.org/jira/browse/LANG-1752?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Saif Asif updated LANG-1752:
----------------------------
    Description: 
Overtime, more and more APIs are being added to the StringUtils class that are 
a variation of existing APIs based on casing e.g `endsWithIgnoreCase` is just 
`endsWith` with an additional boolean ignoreCase set to true.

 

{{private static boolean endsWith(final CharSequence str, final CharSequence 
suffix, final boolean ignoreCase)}}

 

This leads to StringUtils class increasing in size.

I would like to propose that we refactor StringUtils class and move all 
ignoreCase APIs to their own class e.g something like `StringUtilsIgnoreCase` 
or so.

Since the refactoring will be huge, we can target for the next major version 
(4.0?) and introduce `@deprecated` on the methods to give users enough time to 
track and update their existing code bases.

What does the community think ?

  was:
Overtime, more and more APIs are being added to the StringUtils class that are 
a variation of existing APIs based on casing e.g `endsWithIgnoreCase` is just 
`endsWith` with an additional boolean ignoreCase set to true.

```java

private static boolean endsWith(final CharSequence str, final CharSequence 
suffix, final boolean ignoreCase)

```

This leads to StringUtils class increasing in size.

I would like to propose that we refactor StringUtils class and move all 
ignoreCase APIs to their own class e.g something like `StringUtilsIgnoreCase` 
or so.

Since the refactoring will be huge, we can target for the next major version 
(4.0?) and introduce `@deprecated` on the methods to give users enough time to 
track and update their existing code bases.

What does the community think ?


> Seperating ignoresCase APIs from StringUtils
> --------------------------------------------
>
>                 Key: LANG-1752
>                 URL: https://issues.apache.org/jira/browse/LANG-1752
>             Project: Commons Lang
>          Issue Type: Improvement
>    Affects Versions: 4.0
>            Reporter: Saif Asif
>            Priority: Major
>
> Overtime, more and more APIs are being added to the StringUtils class that 
> are a variation of existing APIs based on casing e.g `endsWithIgnoreCase` is 
> just `endsWith` with an additional boolean ignoreCase set to true.
>  
> {{private static boolean endsWith(final CharSequence str, final CharSequence 
> suffix, final boolean ignoreCase)}}
>  
> This leads to StringUtils class increasing in size.
> I would like to propose that we refactor StringUtils class and move all 
> ignoreCase APIs to their own class e.g something like `StringUtilsIgnoreCase` 
> or so.
> Since the refactoring will be huge, we can target for the next major version 
> (4.0?) and introduce `@deprecated` on the methods to give users enough time 
> to track and update their existing code bases.
> What does the community think ?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to