Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften, SAI

WS 2000/01 || Entwicklung objekt-orientierter Bibliotheken || Beispiele || Collections-3

DEFINITION Collections


DEFINITION Collections;

   IMPORT Objects;

   TYPE
      Collection = POINTER TO CollectionRec;
      CollectionRec = RECORD (Objects.ObjectRec) END;

   (* Schnittstelle fuer Implementierungen *)

   TYPE
      Message = RECORD END;
      Handler = PROCEDURE (collection: Collection; VAR message: Message);

      AddMessage =
	 RECORD
	    (Message)
	    object: Objects.Object;
	 END;

      FirstMessage = RECORD (Message) END;

      NextMessage =
	 RECORD
	    (Message)
	    (* Rueckgabewerte *)
	    object: Objects.Object;
	    endOfCollection: BOOLEAN;
	 END;

   PROCEDURE Init(collection: Collection; handler: Handler);

   PROCEDURE Send(collection: Collection; VAR message: Message);

   (* Schnittstelle fuer Klienten *)

   PROCEDURE Add(collection: Collection; object: Objects.Object);

   PROCEDURE First(collection: Collection);

   PROCEDURE Next(collection: Collection;
		  VAR object: Objects.Object) : BOOLEAN;

END Collections.

WS 2000/01 || Entwicklung objekt-orientierter Bibliotheken || Beispiele || Collections-3

Andreas Borchert, 5. November 2000