commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chuck Daniels" <>
Subject RE: [lang] DEVELOPERS-GUIDE.html
Date Fri, 01 Aug 2003 23:58:50 GMT
Forgive me if I'm out of line, as this is my first time posting after
following a few threads on this list for some time.

It seems to me that you have jumped the gun on adding "the class will not be
final" to the document.  It doesn't appear to me that any type of consensus
has been reached on the topic of making XxxUtil classes final or not.

For what it's worth, I vote for making such classes final, as it really
seems to make no sense to subclass classes that contain only static methods.
If you really want to subclass a class, then it should not be a "utility"
class, but perhaps a singleton as Craig suggested earlier in this thread.

Further, if someone feels that a "utility" class appears to be lacking in
some way, shouldn't they contribute to improving the class rather than
attempting to subclass it without sharing the improvements?

I also agree with Arun that making a "utility" class non-final does little
more than save you an import statement.


> -----Original Message-----
> From: Henri Yandell []
> Sent: Thursday, July 31, 2003 9:58 AM
> To: Jakarta Commons Developers List
> Subject: RE: [lang] DEVELOPERS-GUIDE.html
> I've added:
> <li>the class will not be final</li>
> <li>methods should generally be 'nice' and 'quiet'.  That is, they should
> suppress Exceptions when sensible. </li>
> as rules for XxxUtils and also:
> <h4>Exception throwing</h4>
> <p>When throwing an exception to indicate a bad argument, always throw
> IllegalArgumentException, even if the argument was null. Do not throw
> NullPointerException. </p>
> Is the 'nice' and 'quiet' one okay? Or should I ignore it because there
> are times when XxxUtils might want to throw Exceptions. ie) JdbcUtils
> would throw SQLException from everything and IOUtils should throw
> IOException from everything.
> Hen
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

View raw message