7fd59977 |
1 | -- File: Interface_CheckTool.cdl |
2 | -- Created: Tue Feb 2 16:12:59 1993 |
3 | -- Author: Christian CAILLET |
4 | -- <cky@phobox> |
5 | ---Copyright: Matra Datavision 1993 |
6 | |
7 | |
8 | class CheckTool from Interface |
9 | |
10 | ---Purpose : Performs Checks on Entities, using General Service Library and |
11 | -- Modules to work. Works on one Entity or on a complete Model |
12 | |
13 | uses Transient, InterfaceModel, Check, |
14 | CheckIterator, EntityIterator, HGraph, Graph, ShareTool, |
15 | Messenger from Message, |
16 | Protocol from Interface, GeneralLib, GTool |
17 | |
18 | raises CheckFailure |
19 | |
20 | is |
21 | |
22 | Create (model : InterfaceModel; protocol : Protocol from Interface) |
23 | returns CheckTool; |
24 | ---Purpose : Creates a CheckTool, by calling the General Service Library |
25 | -- and Modules, selected through a Protocol, to work on a Model |
26 | -- Moreover, Protocol recognizes Unknown Entities |
27 | |
28 | Create (model : InterfaceModel) |
29 | returns CheckTool; |
30 | ---Purpose : Creates a CheckTool, by calling the General Service Library |
31 | -- and Modules, selected through a Protocol, to work on a Model |
32 | -- Protocol and so on are taken from the Model (its GTool) |
33 | |
34 | Create (graph : Graph) returns CheckTool; |
35 | ---Purpose : Creates a CheckTool from a Graph. The Graph contains a Model |
36 | -- which designates a Protocol: they are used to create ShareTool |
37 | |
38 | Create (hgraph : HGraph) returns CheckTool; |
39 | |
40 | FillCheck (me : in out; ent : Transient; sh : ShareTool; ach : in out Check); |
41 | ---Purpose : Fills as required a Check with the Error and Warning messages |
42 | -- produced by Checking a given Entity. |
43 | -- For an Erroneous or Corrected Entity : Check build at Analyse |
44 | -- time; else, Check computed for Entity (Verify integrity), can |
45 | -- use a Graph as required to control context |
46 | |
47 | Print (me; ach : Check; S : Messenger from Message); |
48 | ---Purpose : Utility method which Prints the content of a Check |
49 | |
50 | Print (me; list : CheckIterator; S : Messenger from Message); |
51 | ---Purpose : Simply Lists all the Checks and the Content (messages) and the |
52 | -- Entity, if there is, of each Check |
53 | -- (if all Checks are OK, nothing is Printed) |
54 | |
55 | -- -- Checking a Model (the one given for Creation) -- -- |
56 | |
57 | Check (me : in out; num : Integer) returns Check; |
58 | ---Purpose : Returns the Check associated to an Entity identified by |
59 | -- its Number in a Model. |
60 | |
61 | CheckSuccess (me : in out; reset : Boolean = Standard_False) |
62 | raises CheckFailure; |
63 | ---Purpose : Checks if any Error has been detected (CheckList not empty) |
64 | -- Returns normally if none, raises exception if some exists. |
65 | -- It reuses the last computations from other checking methods, |
66 | -- unless the argument <resest> is given True |
67 | |
68 | CompleteCheckList (me : in out) returns CheckIterator; |
69 | ---Purpose : Returns list of all "remarkable" informations, which include : |
70 | -- - GlobalCheck, if not empty |
71 | -- - Error Checks, for all Errors (Verify + Analyse) |
72 | -- - also Corrected Entities |
73 | -- - and Unknown Entities : for those, each Unknown Entity is |
74 | -- associated to an empty Check (it is neither an Error nor a |
75 | -- Correction, but a remarkable information) |
76 | |
77 | CheckList (me : in out) returns CheckIterator; |
78 | ---Purpose : Returns list of all Errors detected |
79 | -- Note that presence of Unknown Entities is not an error |
80 | -- Cumulates : GlobalCheck if error + |
81 | -- AnalyseCheckList + VerifyCheckList |
82 | |
83 | AnalyseCheckList (me : in out) returns CheckIterator; |
84 | ---Purpose : Returns list of errors dectected at Analyse time (syntactic) |
85 | -- (note that GlobalCheck is not in this list) |
86 | |
87 | VerifyCheckList (me : in out) returns CheckIterator; |
88 | ---Purpose : Returns list of integrity constraints errors (semantic) |
89 | -- (note that GlobalCheck is not in this list) |
90 | |
91 | WarningCheckList (me : in out) returns CheckIterator; |
92 | ---Purpose : Returns list of Corrections (includes GlobalCheck if corrected) |
93 | |
94 | UnknownEntities (me : in out) returns EntityIterator; |
95 | ---Purpose : Returns list of Unknown Entities |
96 | -- Note that Error and Erroneous Entities are not considered |
97 | -- as Unknown |
98 | |
99 | fields |
100 | |
101 | thegtool : GTool; |
102 | theshare : ShareTool; |
103 | thestat : Integer; |
104 | |
105 | end CheckTool; |