Polymorphic Persistence

Polymorphic persistence preserves pointer relationships (or morphology) among persisted objects, and also allows the restoring process to restore an object without prior knowledge of that object's type.

The Essential Tools Module uses classes derived from RWCollectable to do polymorphic persistence. The objects created from those classes may be any of the different types derived from RWCollectable. A group of such objects, where the objects may have different types, is called a heterogeneous collection.

Polymorphic persistence classes lists the classes that use polymorphic persistence.

Table 47. Polymorphic persistence classes

Category

Description

RWCollectable (Smalltalk-like) classes

RWCollectableDate, RWCollectableString...

RWCollection classes (which derive from RWCollectable)

RWBinaryTree, RWBag ...

In this section: