@Greenwood: Well if you put it like that, I suppose your class has the advantage of getting the data you want in a format that you need and can work with. Didn't mean to diss you, Greenwood. I respect the way you managed to recreate the mysql queries by making easy-to-read method call chains.
Well, I do know that it takes a lot of time to get how a class works if that class is too 'intelligent'. Does the difficulty of Unit-Testing increase more with the number of private classes, with the size of the methods, or generally with the degree of autonomy of a class?
Yes, I believe that's the way to go. Actually, shouldn't Greenwood's class be regarded as an abstract class?
Just to satisfy my curiosity: what kind of applications require domain-related classes to format the query results? Could you give me some hyperlinks?