db-commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oliver.He...@t-online.de (Oliver Heger)
Subject Re: new project question
Date Sun, 08 Feb 2004 19:38:05 GMT

did anyone had a look at that code? I would really appreciate some comments.


Oliver Heger wrote:

> Brian,
> sorry for the delay. You can now find the actual code at the following 
> URL:
>    http://www.oliver-heger.privat.t-online.de/retrieve.zip
> Some short words for explanation:
> Heart of the library is the Query class in the parts sub package. 
> Together with the other part classes it can be used to construct 
> SELECT statements. Some important parts are still missing, e.g. for 
> ORDER BY clauses or for generating lists for the IN operator.
> In the retrieve package there are some classes and interfaces that 
> represent database structures. They have two purposes:
> 1. They are used for the mapping facilities. It is possible to address 
> tables and columns with logic names, which are then transformed into 
> real database names.
> 2. They provide information for automatic generation of join 
> conditions. One use case for this library was a highly configurable 
> application that allows its user to choose the fields of a table and 
> its related tables that should be displayed. For instance imagine an 
> application that reads a tasks table for displaying a todo list. It 
> allows its users to define the view of their tasks. If a user only 
> wants to see fields that are contained in the tasks table, the 
> resulting SELECT statement will be quite simple. If he or she is also 
> interested in the name and some other attributes of the user who has 
> created the task, the user table has to be joined. The library is 
> designed that it can automatically detect the involved tables and 
> fetch the necessary information about the relations between them 
> through the RelationProvider interface. With this information it can 
> dynamically create a statement with a join if necessary; the calling 
> application need not bother about that.
> Of course a couple of unit tests must be added, though the test for 
> Query also tests many other classes. Now I am looking forward to your 
> comments!
> Oliver

View raw message