Data Converters

Purpose and Functionality

The data converters are reposible to translate data from one representation into another. Concrete examples are e.g. converters creating transient objects representing parts of an event from the persistent (and disk based) representations. Converters will have to deal with the technology both representations are based on: in the upper example they have to know about the database internals as well as the structure of the transient representations. The converters know about the mechanism to retrieve persistent objects (ZEBRA, Objty, …) and only pass abstract instances of the converted objects, hence shielding the calling service from internals.

Data converters are meant to be light. This means there should not be all-in-one converters, which are able to convert the "world", but rather many converters. Each converter is then able to create a representation of a given type.

In order to function a converter must be able to

The conversion/creation mechanism of an object into another representation is a two step process:

Concrete user converters are based on a base class which deals with the technology specific generic actions. The concrete converters hence only deal with data internal to the objects like e.g.

Interfaces

Each converter must expose the following interface to the data services: