The DAO (data access object) package provides the DataSource* classes that manage the database operations (insert, update, delete).
Click here for the diagram picture.
DataSourceList holds a list of DataSourceFactory objects in the session context. It's needed by the navigation events to store the datasource by a per session mode. So it is possible to reuse the data between different calls and it's not neccessary to refetch again.
The DataSourceFactory class creates and holds internally a DataSource object as dataHandler. The dataSource object type is specified by the dataAccess class name for the given table.
The DataSource abstract class provides the interface for the objects that do data access operations. Specialized subclasses must implement abstract methods for a given data source type (i.e.: JDBC data source, XML datasource and so on).
Concrete DataSource class; uses JDBC to manage data form relational databases.