1 mike 1.1 // descriptions based on Tech Edit review.</change>
2 // Copyright (c) 2005 DMTF. All rights reserved.
3 // <change cr="SysDevCR00720.001" type ="change">Update of
4 // descriptions based on Tech Edit review.</change>
5 // <change cr="DMTFCR01167.003" type ="change">Clarify
6 // description of Override qualifier and correct its
7 // definition to allow repeated usage in subclasses.</change>
8 // <change cr="DMTFCR01592.004" type ="change">Add a
9 // UmlPackagePath qualifier.</change>
10 // <change cr="DMTFCR01593.001" type ="change">Addition
11 // of the Correlatable qualifier.</change>
12 // <change cr="ARCHCR00057.003" type ="change">Extend the OCL
13 // Qualifier.</change>
14 // <change cr="ARCHCR00075.000" type ="change">Add method scope to
15 // Required Qualifier.</change>
16 // <change cr="WIPCR00302.000" type ="change">2.13 qualifier updates
17 // and changes</change>
18 // <change cr="ArchCR00066.004" type="add">Add UmlPackagePath
19 // qualifier to CIM Schema.</change>
20 // ==================================================================
21 // Qualifiers
22 mike 1.1 // ==================================================================
23
24 //===============
25 //Meta Qualifiers
26 //===============
27
28 Qualifier Association : boolean = false,
29 Scope(association),
30 Flavor(DisableOverride);
31
32 Qualifier Indication : boolean = false,
33 Scope(class, indication),
34 Flavor(DisableOverride);
35
36 //===================
37 //Standard Qualifiers
38 //===================
39
40 Qualifier Abstract : boolean = false,
41 Scope(class, association, indication),
42 Flavor(Restricted);
43 mike 1.1
44 Qualifier Aggregate: boolean = false,
45 Scope (reference),
46 Flavor(DisableOverride);
47
48 Qualifier Aggregation : boolean = false,
49 Scope(association),
50 Flavor(DisableOverride);
51
52 Qualifier ArrayType : string = "Bag",
53 Scope(property, parameter),
54 Flavor(DisableOverride);
55
56 Qualifier BitMap : string[],
57 Scope(property, method, parameter);
58
59 Qualifier BitValues : string[],
60 Scope(property, method, parameter),
61 Flavor(Translatable);
62
63 Qualifier ClassConstraint: string[],
64 mike 1.1 Scope(class, association, indication);
65
66 Qualifier Composition : boolean = false,
67 Scope(association),
68 Flavor(DisableOverride);
69
70 Qualifier Counter : boolean = false,
71 Scope(property, method, parameter);
72
73 Qualifier Deprecated : string [],
74 Scope(any),
75 Flavor(Restricted);
76
77 Qualifier Description : string = null,
78 Scope(any),
79 Flavor(Translatable);
80
81 Qualifier DisplayName : string = null,
82 Scope(any),
83 Flavor(Translatable);
84
85 mike 1.1 Qualifier DN : boolean=false,
86 Scope(property, method, parameter),
87 Flavor(DisableOverride);
88
89 Qualifier EmbeddedInstance : string,
90 Scope(property, method, parameter),
91 Flavor(DisableOverride);
92
93 Qualifier EmbeddedObject : boolean = false,
94 Scope(property, method, parameter),
95 Flavor(DisableOverride);
96
97 Qualifier Exception: boolean = false,
98 Scope(class, indication),
99 Flavor(disableoverride, tosubclass);
100
101 Qualifier Experimental : boolean = false,
102 Scope(any),
103 Flavor(Restricted);
104
105 Qualifier Gauge : boolean = false,
106 mike 1.1 Scope(property, method, parameter);
107
108 Qualifier In : boolean = true,
109 Scope(parameter),
110 Flavor(DisableOverride);
111
112 Qualifier Key : boolean = false,
113 Scope(property, reference),
114 Flavor(DisableOverride);
115
116 Qualifier MappingStrings : string[],
117 Scope(any);
118
119 Qualifier Max : uint32 = null,
120 Scope(reference);
121
122 Qualifier MaxLen : uint32 = null,
123 Scope(property, method, parameter);
124
125 Qualifier MaxValue : sint64 = null,
126 Scope(property, method, parameter);
127 mike 1.1
128 Qualifier MethodConstraint: string[],
129 Scope(method);
130
131 Qualifier Min : uint32 = 0,
132 Scope(reference);
133
134 Qualifier MinLen : uint32 = 0,
135 Scope(property, method, parameter);
136
137 Qualifier MinValue : sint64 = null,
138 Scope(property, method, parameter);
139
140 Qualifier ModelCorrespondence : string[],
141 Scope(any);
142
143 /*
144 The Nonlocal qualifer has been removed (as an errata) as of CIM 2.3
145 For more information see CR1461.
146 */
147 Qualifier Nonlocal : string = null,
148 mike 1.1 Scope(reference);
149
150 /*
151 The NonlocalType qualifer has been removed (as an errata) as of CIM 2.3
152 For more information see CR1461.
153 */
154 Qualifier NonlocalType : string = null,
155 Scope(reference);
156
157 Qualifier NullValue : string = null,
158 Scope (property),
159 Flavor(DisableOverride);
160
161 Qualifier Octetstring : boolean = false,
162 Scope(property, method, parameter),
163 Flavor(DisableOverride);
164
165 Qualifier Out : boolean = false,
166 Scope(parameter),
167 Flavor(DisableOverride);
168
169 mike 1.1 Qualifier Override : string = null,
170 Scope(property, method, reference),
171 Flavor(Restricted);
172
173 Qualifier Propagated : string = null,
174 Scope(property),
175 Flavor(DisableOverride);
176
177 Qualifier PropertyConstraint: string[],
178 Scope(property, reference);
179
180 Qualifier Read : boolean = true,
181 Scope(property);
182
183 Qualifier Required : boolean = false,
184 Scope(property, reference, parameter, method),
185 Flavor(DisableOverride);
186
187 // The Revision qualifier has been deprecated. For the replacement,
188 // see the usage rule for the version qualifier in the CIM
189 // Specification.
190 mike 1.1 Qualifier Revision : string = null,
191 Scope(class, association, indication ),
192 Flavor(Translatable);
193
194 Qualifier Schema : string = null,
195 Scope (property, method),
196 Flavor(DisableOverride, Translatable);
197
198 /*
199 The Source qualifer has been removed (as an errata) as of CIM 2.3
200 For more information see CR1461.
201 */
202 Qualifier Source : string = null,
203 Scope(class, association, indication);
204
205 /*
206 The SourceType qualifer has been removed (as an errata) as of CIM 2.3
207 For more information see CR1461.
208 */
209 Qualifier SourceType : string = null,
210 Scope(class, association, indication, reference);
211 mike 1.1
212 Qualifier Static : boolean = false,
213 Scope(method, property),
214 Flavor(DisableOverride);
215
216 Qualifier Terminal : boolean = false,
217 Scope(class, association, indication);
218
219 Qualifier UMLPackagePath : string = null,
220 Scope(class, association, indication);
221
222 Qualifier Units : string = null,
223 Scope(property, method, parameter),
224 Flavor(Translatable);
225
226 Qualifier ValueMap : string[],
227 Scope(property, method, parameter);
228
229 Qualifier Values : string[],
230 Scope(property, method, parameter),
231 Flavor(Translatable);
232 mike 1.1
233 Qualifier Version : string = null,
234 Scope(class, association, indication),
235 Flavor(Restricted, Translatable);
236
237 Qualifier Weak : boolean = false,
238 Scope(reference),
239 Flavor(DisableOverride, ToSubclass);
240
241 Qualifier Write : boolean = false,
242 Scope(property);
243
244
245 Qualifier BooleanQ : Boolean = true, Scope(any);
246 Qualifier Sint8Q : Sint8 = -8 , Scope(any);
247 Qualifier Uint8Q : Uint8 = 8 , Scope(any);
248 Qualifier Sint16Q : Sint16 = -16 , Scope(any);
249 Qualifier Uint16Q : Uint16 = 16 , Scope(any);
250 Qualifier Sint32Q : Sint32 = -32 , Scope(any);
251 Qualifier Uint32Q : Uint32 = 32 , Scope(any);
252 Qualifier Sint64Q : Sint64 = -64 , Scope(any);
253 mike 1.1 Qualifier Uint64Q : Uint64 = 64 , Scope(any);
254 Qualifier Real32Q : Real32 = 32.32 , Scope(any);
255 Qualifier Real64Q : Real64 = 64.64 , Scope(any);
256 Qualifier Char16Q : Char16 = 'A', Scope(any);
257 Qualifier StringQ : String = "string", Scope(any);
258 Qualifier DatetimeQ : Datetime = "20091225123000.123456-360", Scope(any);
259 Qualifier BooleanAQ : Boolean[] = {true}, Scope(any);
260 Qualifier Sint8AQ : Sint8[] = {-8}, Scope(any);
261 Qualifier Uint8AQ : Uint8[] = {8}, Scope(any);
262 Qualifier Sint16AQ : Sint16[] = {-16}, Scope(any);
263 Qualifier Uint16AQ : Uint16[] = {16}, Scope(any);
264 Qualifier Sint32AQ : Sint32[] = {-32}, Scope(any);
265 Qualifier Uint32AQ : Uint32[] = {32}, Scope(any);
266 Qualifier Sint64AQ : Sint64[] = {-64}, Scope(any);
267 Qualifier Uint64AQ : Uint64[] = {64}, Scope(any);
268 Qualifier Real32AQ : Real32[] = {32.32}, Scope(any);
269 Qualifier Real64AQ : Real64[] = {64.64}, Scope(any);
270 Qualifier Char16AQ : Char16[] = {'A'}, Scope(any);
271 Qualifier StringAQ : String[] = {"string"}, Scope(any);
272 Qualifier DatetimeAQ : Datetime[] = {"20091225123000.123456-360"}, Scope(any);
273 Qualifier DatetimeQ2 : Datetime = "12345678121212.123456:000", Scope(any);
274 mike 1.1
275 class MyClass
276 {
277 [Key] String MyKey;
278
279 [BooleanQ, Uint32Q(1234), StringQ("Hello")]
280 String MyProperty;
281 };
282
283 [Association]
284 class MyAssoc
285 {
286 [Key] MyClass REF Left;
287 [Key] MyClass REF Right;
288 };
289
290 class YourClass : MyClass
291 {
292 [Key] String MyKey;
293 String YourProperty;
294 String AnotherProperty;
295 mike 1.1
296 [Static] Uint32 Foo(
297 [In] String Arg1,
298 [In, Out] String Arg2,
299 [In(false), Out] String Arg3);
300 };
301
302 Qualifier X : Uint32 = 32 , Scope(any), Flavor(Restricted);
303 Qualifier Y: Uint32 = 32 , Scope(any), Flavor(DisableOverride);
304 Qualifier Z: Uint32 = 32 , Scope(any);
305
306 [X(100)]
307 class X
308 {
309 [Key] String A;
310 String B;
311 };
312
313 [Y(200), X(400):ToSubclass]
314 class Y : X
315 {
316 mike 1.1 String B;
317 String C;
318 };
319
320 [Z(300), Y(200)]
321 class Z : Y
322 {
323 String C;
324 String D;
325 };
|