I would expect that we provide implementations of this new interface for all JRE random classes.
On Wed, Sep 28, 2016 at 7:55 AM, Gilles <gil...@harfang.homelinux.org> wrote: > On Wed, 28 Sep 2016 15:55:34 +0200, Jochen Wiedmann wrote: > >> On Wed, Sep 28, 2016 at 1:40 PM, Gilles <gil...@harfang.homelinux.org> >> wrote: >> >> If not, then random utilities are not best located in Commons Lang, >>> because indeed the no-dep requirement forces you to go through >>> "java.util.Random" which is bad (TM) for several reasons, mentioned >>> here, there, and everywhere. >>> >> >> I agree that RNG could be removed from CL (Binary compatibility >> considerations left aside). However, rather than introducing >> unnecessary dependencies, one would instead use an RNG interface, with >> an ovious default implementation. In other words, if "Joe Average >> Random" (aka Gilles) wants to use Commons RNG, he's perfectly capable >> to do so. >> >> > Do you mean that CL must define its own interface, say > > interface CommonsLangRandom { > int nextInt(); > long nextong(); > double nextDouble(); > // and so on. > } > > and that it's up to the user to create the bridge for delegating > to the library of his choice? > > So, in _user_ code: > > CommonsLangRandom asCLRandom(final java.util.Random rand) { > return new CommonsLangRandom() { > public nextInt() { > return rand.nextInt(); > } > } > } > > and/or > > CommonsLangRandom asCLRandom(final UniformRandomProvider rand) { > return new CommonsLangRandom() { > public nextInt() { > return rand.nextInt(); > } > } > } > > > That's the way how you design low level libraries. >> > > That's seems a good compromise if CL is indeed the low-level > libray it purports to be. > > > Gilles > > >> Jochen >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > For additional commands, e-mail: dev-h...@commons.apache.org > > -- E-Mail: garydgreg...@gmail.com | ggreg...@apache.org Java Persistence with Hibernate, Second Edition <http://www.manning.com/bauer3/> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> Spring Batch in Action <http://www.manning.com/templier/> Blog: http://garygregory.wordpress.com Home: http://garygregory.com/ Tweet! http://twitter.com/GaryGregory