I think the ClientBaseDataSource was not meant to be a public class. We tried to localize all public classes into the 'jdbc' package and use only the jdbc package to generate public javadoc. That is one of the reasons for putting all public tracing support in ClientDataSource.
I would also like to match API with Embedded driver as much as possible. It would be real bad if applications need changes when using two different driver offerings of Derby. Your suggestions probably don't break this, but something to watch for. We tried to match Embedded behavior, unless it was deemed WRONG. Satheesh Jeremy Boynes wrote: > Satheesh Bandaram wrote: > >> I suspect the class hierarchy has been made this way partly to match >> Embedded driver. I am still thinking why the Embedded driver does this.. >> > > I don't know if it is relevant but most of the implementation in the > client code uses ClientDataSource instances rather than the base class > - in fact, the base class itself is never really used at all. I have a > feeling there is some legacy leftover here. > > I am going to go through the client code and switch the usages to the > base class (which declares the methods being used) and then change the > hierarchy here as proposed. > > -- > Jeremy > > >