Aug 28th, 2009, 12:24 PM
Running through some examples/tutorials looking at how things are done in RCP (I assume they are representative), I came across the AbstractObjectTable factory. I have some comments - and please take these constructively which is the way they are meant:
1) I expected it to be a table, not a factory. When I see something named that way I expect it to be what it is named and not have to go look it up or remember that it isn't a table, it is a table factory. Not that big of a deal, kind of a philosophical thing, but worth mentioning IMO.
2) The coupling with the Glazed Lists code. I would recommend (strongly even) that the factory not be so coupled with Glazed Lists. I haven't looked into GL except to peek at it's features and so far it looks good, but GL is not the end all/be all of Swing tables. At the very least the abstract factory should probably move this coupling to a default implementation. More preferably, 'createTableModel()' should return the TableModel interface, not an abstract or default implementation. I will have to look deeper into the code to see what argument it should take, but probably not the GL EventList - maybe nothing, maybe some kind of more abstract model or data store or something.
There are a few other methods that couple the factory to the GL table.
The point I am trying to make is that for the table factory should be more flexible/less coupled and able to be used with other implementations of tables and table models. Either that or rename the class to AbstractGlazedTableFactory and move it into the integrations project.
Thanks for listening.
Aug 28th, 2009, 12:36 PM
I didn't see that this was in the Sandbox.
I still feel the comments apply, but since it is the sandbox...