Package de.uni_trier.wi2.procake.data

Data support including the topics io, model, object, objectpool, and property.

All components in the ProCAKE system use the same data representation. As ProCAKE should be applicable in several very different application scenarios, a flexible and unified data representation concept for all components is paramount. This is put into practise with a data model and corresponding data objects.

The CAKE Data Model describes all kinds of data that can occur in the system. It is an object-oriented model using inheritance and aggregation to define the data classes. Available data classes are atomic classes like Boolean, integer, double, date, or time as well as compound data classes like aggregates, collections, intervals, and unions. These system classes can be used to define an application specific data model. Each specialisation of a system class is called user class that again can be specialised or used like any other class.

Each data class of the data model, except union class, can be instantiated as a CAKE data object. Consequently, each data object has exactly one corresponding data class that defines the possible value(s) of the object. Except for the union object, the object hierarchy is the same as for the data model. Additionally to the "main value" of a data object, each data object can have properties to store additional information about the object. The system knows several predefined properties but user-defined ones are also possible.

A property is a key-value pair whereby the key as well as the value must be a string. This restriction is necessary to be able to embed the properties into XML. If another data type has to be handled an encoding to and from string must be realised. The system knows several predefined properties but self defined ones are also possible.

The data package contains the following components: