[
https://issues.apache.org/jira/browse/TEXT-37?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15769453#comment-15769453
]
Duncan Jones commented on TEXT-37:
----------------------------------
I think this issue is blocked until we decide on TEXT-38.
If we alter the class (as suggested in TEXT-38), then we would likely have a
{{RandomStringGenerator}} class with a inner {{Builder}} class. In this
situation, the builder could accept a random generator in whatever way feels
most elegant (I would vote for a fluent method call), since it cannot later be
changed by the user of the generator.
> Global vs local source of randomness
> ------------------------------------
>
> Key: TEXT-37
> URL: https://issues.apache.org/jira/browse/TEXT-37
> Project: Commons Text
> Issue Type: Improvement
> Reporter: Gilles
> Labels: api, constructor
> Fix For: 1.0
>
>
> This is a follow-up of a
> [discussion|https://issues.apache.org/jira/browse/TEXT-34?focusedCommentId=15761636&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15761636]
> held in TEXT-34.
> By default, {{RandomStringBuilder}} will use a shared {{java.util.Random}}
> object.
> I think that the decision of which generator to use lies with the code that
> _constructs_ the {{RandomStringBuilder}} instance, not with code that _uses_
> it (to build a string).
> It would be safer to pass the RNG instance at construction (since, anyways,
> the constructor must be called):
> {code}
> RandomStringBuilder sb = new RandomStringBuilder(new MyRandom());
> String s = sb.ofLength(length).build();
> {code}
> In the above, the {{MyRandom}} type is the subject of TEXT-36.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)