7fd59977 |
1 | -- File: GraphContent.cdl |
2 | -- Created: Wed Sep 23 10:23:20 1992 |
3 | -- Author: Christian CAILLET |
4 | -- <cky@phobox> |
5 | ---Copyright: Matra Datavision 1992 |
6 | |
7 | |
8 | class GraphContent from Interface inherits EntityIterator |
9 | |
10 | ---Purpose : Defines general form for classes of graph algorithms on |
11 | -- Interfaces, this form is that of EntityIterator |
12 | -- Each sub-class fills it according to its own algorithm |
13 | -- This also allows to combine any graph result to others, |
14 | -- all being given under one unique form |
15 | |
16 | uses Transient, Graph |
17 | |
18 | is |
19 | |
20 | Create returns GraphContent; |
21 | ---Purpose : Creates an empty GraphContent, ready to be filled |
22 | |
23 | Create (agraph : Graph) returns GraphContent; |
24 | ---Purpose : Creates with all entities designated by a Graph |
25 | |
26 | Create (agraph : Graph; stat : Integer) returns GraphContent; |
27 | ---Purpose : Creates with entities having specific Status value in a Graph |
28 | |
29 | Create (agraph : Graph; ent : Transient) returns GraphContent; |
30 | ---Purpose : Creates an Iterator with Shared entities of an entity |
31 | -- (equivalente to EntityIterator but with a Graph) |
32 | |
33 | GetFromGraph (me : in out; agraph : Graph); |
34 | ---Purpose : Gets all Entities designated by a Graph (once created), adds |
35 | -- them to those already recorded |
36 | |
37 | GetFromGraph (me : in out; agraph : Graph; stat : Integer); |
38 | ---Purpose : Gets entities from a graph which have a specific Status value |
39 | -- (one created), adds them to those already recorded |
40 | |
41 | Result (me : in out) returns EntityIterator; |
42 | ---Purpose : Returns Result under the exact form of an EntityIterator : |
43 | -- Can be used when EntityIterator itself is required (as a |
44 | -- returned value for instance), whitout way for a sub-class |
45 | |
46 | -- -- Evaluation - Iteration -- -- |
47 | -- Made by Start-More-Next-Value inherited from EntityIterator |
48 | -- Start is redefined to call Evaluate moreover |
49 | -- Default for Evaluate is given as doing nothing |
50 | |
51 | -- Start (me : in out) is redefined; |
52 | Begin (me : in out); |
53 | ---Purpose : Does the Evaluation before starting the iteration itself |
54 | -- (in out) |
55 | |
56 | Evaluate (me : in out) is virtual; |
57 | ---Purpose : Evaluates list of Entities to be iterated. Called by Start |
58 | -- Default is set to doing nothing : intended to be redefined |
59 | -- by each sub-class |
60 | |
61 | end GraphContent; |