[ https://issues.apache.org/jira/browse/TEXT-96?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16071800#comment-16071800 ]
Peter Phillips commented on TEXT-96: ------------------------------------ Thanks very much to [~ameyjadiye] for the work and PR. I can see that {{RandomStringGenerator}} serves a useful purpose, but I would still propose that simpler methods are required if it is to replace {{RandomStringUtils}}. For existing code using {{RandomStringUtils}} I wouldn't choose to do a search and replace to convert to {{RandomStringGenerator}}. I would instead choose to use an older version of commons-lang3 when {{RandomStringUtils}} eventually gets removed, or alternatively just copy the class into my projects. I would have thought that the majority of developers would do the same. > Convenience methods needed for RandomStringGenerator > ---------------------------------------------------- > > Key: TEXT-96 > URL: https://issues.apache.org/jira/browse/TEXT-96 > Project: Commons Text > Issue Type: Improvement > Affects Versions: 1.1 > Reporter: Peter Phillips > Priority: Minor > > {{RandomStringGenerator}} is extremely verbose compared to the deprecated > commons.lang3 {{RandomStringUtils}}. > Previously we could write: > {code:java} > RandomStringUtils.randomNumeric(10) > {code} > to generate a numeric string whereas this now has become: > {code:java} > new RandomStringGenerator.Builder().withinRange('0', '9').build().generate(10) > {code} > although in practice we would then also use static imports too. > The {{randomAlphabetic}} conversion is even more verbose: > {code:java} > new RandomStringGenerator.Builder().withinRange('A', 'z').filteredBy(new > CharacterPredicate() { > @Override > public boolean test(int codePoint) { > return codePoint >= 'a' || codePoint <= 'Z'; > } > }).build().generate(10)) > {code} and at that point I lost enthusiam with trying to replicate > {{randomAlphanumeric}}. > I don't think the average java developer would understand what a code point > is in the first place so then trying to get our automation testers to use the > new API to implement random alphanumeric character generation would be > difficult. > I therefore suggest that commons-text should have a copy of > {{RandomStringUtils}} which can even delegate to {{RandomStringGenerator}} or > alternatively convenience static methods for the common use cases. -- This message was sent by Atlassian JIRA (v6.4.14#64029)