> Before we do the interface extraction, I'd like to discuss the > objectives. For example, I think typed returns from collection-valued > methods are easier to use and more robust than untyped returns. In the > Table class, there are e.g. Set getColumns() which I'd prefer > Set<Column> if we think it's ok to support only JDK 5, or Column[ ] > getColumns() or if the objective is to support earlier versions of JDK.
Java 5-only is not possible as DdlUtils is meant to be used by OJB and Torque which both have a minimum requirement of Java 2 (1.2). As to whether use a strongly-typed array instead of a simple collection, well, the model is intended to be creatable at runtime, e.g. table.addColumn() etc. If the getColumns method returns an array instead of a collection, then that communicates that the columns are fixed rather than dynamic. And the impl would have to convert the necessary internally used collection type into an array upon each call. I'm not sure whether the type safety is worth that ? > And I'd like to have a chance to really review the package in detail > before the extraction is done. Can you give us another week? No prob, I've added it as a ToDo. Once the JIRA for DdlUtils is available, you can also add a feature request there. Tom
