[
https://issues.apache.org/jira/browse/TEXT-96?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16068285#comment-16068285
]
Gilles commented on TEXT-96:
----------------------------
A [related discussion|http://markmail.org/message/oc36ltduek4ahn3t] has started
in the "dev" ML.
IMHO, what is meant by {{randomNumeric}}, {{randomAlphabetic}},
{{randomAlphanumeric}} is not uniquely defined. Thus the random generator is
not the place where the selection must happen.
But I agree that helper utilities (to be defined elsewhere) that transform to
{{char[]}} (as per the API of this class) would be useful syntactic sugar.
> 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)