![]() |
![]() |
![]() |
GNOME Data Access 4.0 manual | ![]() |
---|
libgda being a data oriented library, data handling is a central point of the library:
individual values are encapsulated within a GValue container (from GLIB)
value holders which are each a specification for a value: a type, a name, a description, a default value, etc. Value holders are encapsulated within a GdaHolder container object.
Note that it is possible to set a hint to make a value holder have its value constrained by the values contained in a column of a GdaDataModel.
lists of value holders which are encapsulated within a GdaSet container object.
The GdaSet object also makes some computations to group value holders which are constrained by values in the same GdaDataModel (it makes it easy to use value holders which are not really independant).
arrays of values organized in rows and columns. All the data in the same column have the same type, and all the data in each row have the same semantic meaning. libgda uses the GdaDataModel objects to actually hold the data (note that this is actually an interface which has sevaral implementations depending on the real data organization in the data model).
Note that depending on the real implementation, access to the data can be random or done using an iterator, and that the data model can be read-only or modifiable.
The GdaDataModelIter object is used to iterate through the rows of a GdaDataModel.
The following UML diagram shows the various implementations of the GdaDataModel interface and their usage: