commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stephen Colebourne <>
Subject Re: [VOTE] [LANG] Release Commons Lang 3.0 (based on RC3)
Date Wed, 04 May 2011 15:36:42 GMT
On 4 May 2011 16:23, Gary Gregory <> wrote:
> Ah, well, it would make it easier to port my current code: create subclasses
> with the desired formatting and replace package names. Each subclass would
> call toString(format) and that's it. The alternative is to either call
> toString(format) from the call sites (sure, I could refactor that in a Utils
> class) or have my factory classes create pair wrappers. But it seems easier
> to keep reusing the current code than creating wrappers. If the class is
> final, I have to go the Utils route, I do not have the choice.
> I just do not see the point of hand-cuffing users by making the class final.
> I can always find new ways of shooting myself in the foot... ;)

Most of the time, open source should avoid final, because it places an
unecessary burden on users. However, the phrase "immutable" has very
specific meaning. BigDecimal and BigInteger are non-final "immutable"
classes, and secure code must clone them to be absolutely safe. [lang]
should follow best practice in Java, and "immutable" really does have
a specific meaning.

For your case, I would expect you to subclass Pair and create your own
class with your own format. This is no different to what I will need
to do here at OpenGamma to replace our pairs (now public and open


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message