Oberon || Library || Module Index || Search Engine || Definition || Module


Ulm's Oberon Library:
ConstantObjects


NAME

ConstantObjects - simplified support of persistence for constant context-independent objects

SYNOPSIS

PROCEDURE RegisterType(VAR type: Services.Type;
                       name, baseName: ARRAY OF CHAR);
PROCEDURE Init(object: PersistentObjects.Object;
               type: Services.Type;
               name: ARRAY OF CHAR);

DESCRIPTION

ConstantObjects provides a simplified support of persistence for objects that

The idea is that instead of transferring the whole contents of a constant object by marshalling procedures a name is sufficient to identify the same object in another process. In addition, constant objects do not get cloned and keep therefore referential integrity as objects imported or exported by RemoteObjects.

RegisterType is to be called instead of PersistentObjects.RegisterType for types of constant objects. Note that type must be exclusively used as a type of constant objects in the sense of this module.

Init is to be called instead of PersistentObjects.Init for constant objects. Note that name should be qualified with the own module name to avoid name conflicts.

DIAGNOSTICS

While various error events may be raised by Loader, NetIO, PersistentObjects, Streams, and the underlying stream implementation, ConstantObjects does not generate any events itself.

Assertions fail if

SEE ALSO

Loader
dynamic loading of modules
PersistentObjects
operations for persistent objects

Edited by: borchert, last change: 2000/05/31, revision: 1.1, converted to HTML: 2000/05/31

Oberon || Library || Module Index || Search Engine || Definition || Module