I don't want to pour oil on the fire, but I can't help feeling that (at least part of) this discussion is a bit awkward:
* Javabeans were "invented" in the context of configurable applications, serving as containers for parameters (for user interfaces e.g.) - but they were originally NOT meant to be full-fledged "business objects". Business objects require more than just a few getters and setters, they are supposed to contain business logic as well. While getters and setters are quite handy (I also use them every day in my programming), they are not the only way nor the best way to deal with transfers of data between parts of a program/system. If I'm not mistaken, there's a bit of a discussion about the usefulness of Javabeans in Java developers cercles at this very moment. * The example used in the discussion is at he same time way too simple and a good illustration of why the term "Record" isn't out of place in a Reactor-generated interface to the database. Too simple, because a method called "getAddress" may well return a string with an address, or it might just as well return an object with it's own methods for data retrieval... And in that last case I prefer to use a "getAddressRecord" method, because that clearly indicates that I'm gonna get a record representation, not a string. * Note that I'm calling what you get from "getAddressRecord" a record representation - that's because I believe that in a large system you actually need a separate Address class as the "business object" that the rest of your system/application will talk to. It's the Address business object, and only that object, that is supposed to know how to get data from and to the Address table in the database. At the same time, my remarks up to now don't mean that much in small apps that have to be developed quickly - you would be absolutely right to point out that it makes no sense whatsoever to increase the number of layers just to be "architecturally correct"! Worse, if I were to follow my own advice, I would have to call the Iterator a RecordIterator: the getAddressIterator should actually be called "getAddressRecordIterator"! (And if the table in the DB were called "AddressRecord".... no, I'll stop here). Well, let me conclude that it's good thing the discussion is finished (or is it?). If and when Doug finds the time and the courage to implement (or validate - hint, hint) an XSL-based solution, I'll be able to review my own advice in practice... But I'm not going to wait for that solution - Reactor is plenty good enough as it stands! Wouter -- Reactor for ColdFusion Mailing List -- [email protected] -- Archives at http://www.mail-archive.com/reactor%40doughughes.net/

