1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
-- File: FuzzyDefinitionsDictionary.cdl
-- Created: Mon Jun 22 18:08:47 1992
-- Author: Gilles DEBARBOUILLE
-- <gde@phobox>
---Copyright: Matra Datavision 1992
deferred class FuzzyDefinitionsDictionary from Dynamic
inherits
TShared from MMgt
---Purpose: This class groups in a dictionary all of the
-- various definitions of an object. It also allows
-- the sharing of the same definition by more than
-- one FuzzyInstance to preserve a global coherence
-- and also to manage the memory. To use this class
-- an inheritance is necessary with perhaps the
-- overload of the Switch method if the parameter
-- types are not of the type BooleanParameter,
-- IntegerParameter, RealParameter and
-- StringParameter.
uses
OStream from Standard,
Integer from Standard,
Boolean from Standard,
CString from Standard,
HAsciiString from TCollection,
Parameter from Dynamic,
SequenceOfFuzzyDefinitions from Dynamic,
FuzzyClass from Dynamic
is
Initialize;
---Level: Internal
---Purpose: Deferred constructor of the class.
Creates(me : mutable ; afilename : CString from Standard)
---Level: Internal
---Purpose: Starting with a file named <afilename>, fills the
-- dictionary with all the wishes definitions.
is static;
Switch(me ; aname , atype , avalue : CString from Standard)
---Level: Internal
---Purpose: This virtual method allows the user to add recognition
-- of its own parameters when reading the file to fill
-- the dictionary.
returns Parameter from Dynamic
is virtual;
Definition(me ; atype : CString from Standard
; adefinition : out FuzzyClass from Dynamic) returns Boolean from Standard
---Level: Public
---Purpose: Returns from the dictionary in the out variable
-- <adefinition> a reference to the right instance of the
-- definition identified by its type <atype>. The method
-- returns true if the definition exist, false otherwise.
is static;
UpToDate(me) returns Boolean from Standard
---Level: Advanced
---Purpose: Returns true if there has been no modification of the
-- file fuzzyclasses.dat since the creation of the
-- dictionary object, false otherwise.
is static;
NumberOfDefinitions(me) returns Integer from Standard
---Level: Public
---Purpose: Returns the number of definitions stored in the
-- dictionary.
is static;
Definition(me ; anindex : Integer from Standard) returns any FuzzyClass from Dynamic
---Level: Public
---Purpose: Returns a reference on the definition identified by
-- the index <anidex>.
is static;
Dump(me ; astream : in out OStream from Standard)
---Level: Internal
---Purpose: Useful for debugging.
is static;
fields
thefilename : HAsciiString from TCollection;
thetime : Time from Standard ;
thesequenceoffuzzydefinitions : SequenceOfFuzzyDefinitions from Dynamic ;
end FuzzyDefinitionsDictionary;
|