30 Support Classes for Objects: ObjectSupport

This module contains classes that provide generic functionality for objects: Organizing objects in hierarchies and reflection of objects.

30.1 Classes for Master/Slave Behaviour

An instance MasterO of class Object.master becomes a master of an Object.slave object when the latter receives the message becomeSlave(MasterO).

Methods for Masters

init

init()

initialization; mandatory for internal reasons.

getSlaves

getSlaves(?SlaveOs)

returns the list of current slaves.

An instance of Object.slave becomes a slave of an Object.master object MasterO when it receives the message becomeSlave(MasterO).

Methods for Slaves

becomeSlave

becomeSlave(+MasterO)

makes self become a slave of MasterO. self must not yet be a slave of any object, else an exception is raised.

isFree

isFree(?B)

tests whether self is not the slave of any object.

free

free()

frees self. self must be the slave of some object, else an exception is raised.

30.2 Reflecting Objects

The unsited class ObjectSupport.reflect provides the following methods:

clone

clone(+O)

returns a clone of self (that is, features and current attribute values are equal).

toChunk

toChunk(?Ch)

returns a chunk that contains information on current attribute values and features.

fromChunk

fromChunk(+Ch)

Sets features and attributes according to chunk Ch. Ch must have been created with toChunk. The current object must have the same class as that from which the chunk was computed.


Denys Duchier, Leif Kornstaedt, Martin Homik, Tobias Müller, Christian Schulte and Peter Van Roy
Version 1.4.0 (20080702)