1------------------------------------------------------------------------------
2--                                                                          --
3--                            Matreshka Project                             --
4--                                                                          --
5--                          Ada Modeling Framework                          --
6--                                                                          --
7--                        Runtime Library Component                         --
8--                                                                          --
9------------------------------------------------------------------------------
10--                                                                          --
11-- Copyright © 2011-2012, Vadim Godunko <vgodunko@gmail.com>                --
12-- All rights reserved.                                                     --
13--                                                                          --
14-- Redistribution and use in source and binary forms, with or without       --
15-- modification, are permitted provided that the following conditions       --
16-- are met:                                                                 --
17--                                                                          --
18--  * Redistributions of source code must retain the above copyright        --
19--    notice, this list of conditions and the following disclaimer.         --
20--                                                                          --
21--  * Redistributions in binary form must reproduce the above copyright     --
22--    notice, this list of conditions and the following disclaimer in the   --
23--    documentation and/or other materials provided with the distribution.  --
24--                                                                          --
25--  * Neither the name of the Vadim Godunko, IE nor the names of its        --
26--    contributors may be used to endorse or promote products derived from  --
27--    this software without specific prior written permission.              --
28--                                                                          --
29-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS      --
30-- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT        --
31-- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR    --
32-- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT     --
33-- HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,   --
34-- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED --
35-- TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR   --
36-- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF   --
37-- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING     --
38-- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS       --
39-- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.             --
40--                                                                          --
41------------------------------------------------------------------------------
42--  $Revision: 2937 $ $Date: 2012-05-01 21:07:27 +0400 (Tue, 01 May 2012) $
43------------------------------------------------------------------------------
44with AMF.Elements;
45with AMF.Internals.Element_Collections;
46with AMF.Internals.Helpers;
47with AMF.Internals.Tables.UML_Attributes;
48with AMF.Visitors.UML_Iterators;
49with AMF.Visitors.UML_Visitors;
50with League.Strings.Internals;
51with Matreshka.Internals.Strings;
52
53package body AMF.Internals.UML_Use_Cases is
54
55   -------------------
56   -- Enter_Element --
57   -------------------
58
59   overriding procedure Enter_Element
60    (Self    : not null access constant UML_Use_Case_Proxy;
61     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
62     Control : in out AMF.Visitors.Traverse_Control) is
63   begin
64      if Visitor in AMF.Visitors.UML_Visitors.UML_Visitor'Class then
65         AMF.Visitors.UML_Visitors.UML_Visitor'Class
66          (Visitor).Enter_Use_Case
67            (AMF.UML.Use_Cases.UML_Use_Case_Access (Self),
68           Control);
69      end if;
70   end Enter_Element;
71
72   -------------------
73   -- Leave_Element --
74   -------------------
75
76   overriding procedure Leave_Element
77    (Self    : not null access constant UML_Use_Case_Proxy;
78     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
79     Control : in out AMF.Visitors.Traverse_Control) is
80   begin
81      if Visitor in AMF.Visitors.UML_Visitors.UML_Visitor'Class then
82         AMF.Visitors.UML_Visitors.UML_Visitor'Class
83          (Visitor).Leave_Use_Case
84            (AMF.UML.Use_Cases.UML_Use_Case_Access (Self),
85           Control);
86      end if;
87   end Leave_Element;
88
89   -------------------
90   -- Visit_Element --
91   -------------------
92
93   overriding procedure Visit_Element
94    (Self     : not null access constant UML_Use_Case_Proxy;
95     Iterator : in out AMF.Visitors.Abstract_Iterator'Class;
96     Visitor  : in out AMF.Visitors.Abstract_Visitor'Class;
97     Control  : in out AMF.Visitors.Traverse_Control) is
98   begin
99      if Iterator in AMF.Visitors.UML_Iterators.UML_Iterator'Class then
100         AMF.Visitors.UML_Iterators.UML_Iterator'Class
101          (Iterator).Visit_Use_Case
102            (Visitor,
103             AMF.UML.Use_Cases.UML_Use_Case_Access (Self),
104             Control);
105      end if;
106   end Visit_Element;
107
108   ----------------
109   -- Get_Extend --
110   ----------------
111
112   overriding function Get_Extend
113    (Self : not null access constant UML_Use_Case_Proxy)
114       return AMF.UML.Extends.Collections.Set_Of_UML_Extend is
115   begin
116      return
117        AMF.UML.Extends.Collections.Wrap
118         (AMF.Internals.Element_Collections.Wrap
119           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Extend
120             (Self.Element)));
121   end Get_Extend;
122
123   -------------------------
124   -- Get_Extension_Point --
125   -------------------------
126
127   overriding function Get_Extension_Point
128    (Self : not null access constant UML_Use_Case_Proxy)
129       return AMF.UML.Extension_Points.Collections.Set_Of_UML_Extension_Point is
130   begin
131      return
132        AMF.UML.Extension_Points.Collections.Wrap
133         (AMF.Internals.Element_Collections.Wrap
134           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Extension_Point
135             (Self.Element)));
136   end Get_Extension_Point;
137
138   -----------------
139   -- Get_Include --
140   -----------------
141
142   overriding function Get_Include
143    (Self : not null access constant UML_Use_Case_Proxy)
144       return AMF.UML.Includes.Collections.Set_Of_UML_Include is
145   begin
146      return
147        AMF.UML.Includes.Collections.Wrap
148         (AMF.Internals.Element_Collections.Wrap
149           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Include
150             (Self.Element)));
151   end Get_Include;
152
153   -----------------
154   -- Get_Subject --
155   -----------------
156
157   overriding function Get_Subject
158    (Self : not null access constant UML_Use_Case_Proxy)
159       return AMF.UML.Classifiers.Collections.Set_Of_UML_Classifier is
160   begin
161      return
162        AMF.UML.Classifiers.Collections.Wrap
163         (AMF.Internals.Element_Collections.Wrap
164           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Subject
165             (Self.Element)));
166   end Get_Subject;
167
168   -----------------------------
169   -- Get_Classifier_Behavior --
170   -----------------------------
171
172   overriding function Get_Classifier_Behavior
173    (Self : not null access constant UML_Use_Case_Proxy)
174       return AMF.UML.Behaviors.UML_Behavior_Access is
175   begin
176      return
177        AMF.UML.Behaviors.UML_Behavior_Access
178         (AMF.Internals.Helpers.To_Element
179           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Classifier_Behavior
180             (Self.Element)));
181   end Get_Classifier_Behavior;
182
183   -----------------------------
184   -- Set_Classifier_Behavior --
185   -----------------------------
186
187   overriding procedure Set_Classifier_Behavior
188    (Self : not null access UML_Use_Case_Proxy;
189     To   : AMF.UML.Behaviors.UML_Behavior_Access) is
190   begin
191      AMF.Internals.Tables.UML_Attributes.Internal_Set_Classifier_Behavior
192       (Self.Element,
193        AMF.Internals.Helpers.To_Element
194         (AMF.Elements.Element_Access (To)));
195   end Set_Classifier_Behavior;
196
197   -------------------------------
198   -- Get_Interface_Realization --
199   -------------------------------
200
201   overriding function Get_Interface_Realization
202    (Self : not null access constant UML_Use_Case_Proxy)
203       return AMF.UML.Interface_Realizations.Collections.Set_Of_UML_Interface_Realization is
204   begin
205      return
206        AMF.UML.Interface_Realizations.Collections.Wrap
207         (AMF.Internals.Element_Collections.Wrap
208           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Interface_Realization
209             (Self.Element)));
210   end Get_Interface_Realization;
211
212   ------------------------
213   -- Get_Owned_Behavior --
214   ------------------------
215
216   overriding function Get_Owned_Behavior
217    (Self : not null access constant UML_Use_Case_Proxy)
218       return AMF.UML.Behaviors.Collections.Set_Of_UML_Behavior is
219   begin
220      return
221        AMF.UML.Behaviors.Collections.Wrap
222         (AMF.Internals.Element_Collections.Wrap
223           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Owned_Behavior
224             (Self.Element)));
225   end Get_Owned_Behavior;
226
227   -------------------
228   -- Get_Attribute --
229   -------------------
230
231   overriding function Get_Attribute
232    (Self : not null access constant UML_Use_Case_Proxy)
233       return AMF.UML.Properties.Collections.Set_Of_UML_Property is
234   begin
235      return
236        AMF.UML.Properties.Collections.Wrap
237         (AMF.Internals.Element_Collections.Wrap
238           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Attribute
239             (Self.Element)));
240   end Get_Attribute;
241
242   ---------------------------
243   -- Get_Collaboration_Use --
244   ---------------------------
245
246   overriding function Get_Collaboration_Use
247    (Self : not null access constant UML_Use_Case_Proxy)
248       return AMF.UML.Collaboration_Uses.Collections.Set_Of_UML_Collaboration_Use is
249   begin
250      return
251        AMF.UML.Collaboration_Uses.Collections.Wrap
252         (AMF.Internals.Element_Collections.Wrap
253           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Collaboration_Use
254             (Self.Element)));
255   end Get_Collaboration_Use;
256
257   -----------------
258   -- Get_Feature --
259   -----------------
260
261   overriding function Get_Feature
262    (Self : not null access constant UML_Use_Case_Proxy)
263       return AMF.UML.Features.Collections.Set_Of_UML_Feature is
264   begin
265      return
266        AMF.UML.Features.Collections.Wrap
267         (AMF.Internals.Element_Collections.Wrap
268           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Feature
269             (Self.Element)));
270   end Get_Feature;
271
272   -----------------
273   -- Get_General --
274   -----------------
275
276   overriding function Get_General
277    (Self : not null access constant UML_Use_Case_Proxy)
278       return AMF.UML.Classifiers.Collections.Set_Of_UML_Classifier is
279   begin
280      return
281        AMF.UML.Classifiers.Collections.Wrap
282         (AMF.Internals.Element_Collections.Wrap
283           (AMF.Internals.Tables.UML_Attributes.Internal_Get_General
284             (Self.Element)));
285   end Get_General;
286
287   ------------------------
288   -- Get_Generalization --
289   ------------------------
290
291   overriding function Get_Generalization
292    (Self : not null access constant UML_Use_Case_Proxy)
293       return AMF.UML.Generalizations.Collections.Set_Of_UML_Generalization is
294   begin
295      return
296        AMF.UML.Generalizations.Collections.Wrap
297         (AMF.Internals.Element_Collections.Wrap
298           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Generalization
299             (Self.Element)));
300   end Get_Generalization;
301
302   --------------------------
303   -- Get_Inherited_Member --
304   --------------------------
305
306   overriding function Get_Inherited_Member
307    (Self : not null access constant UML_Use_Case_Proxy)
308       return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element is
309   begin
310      return
311        AMF.UML.Named_Elements.Collections.Wrap
312         (AMF.Internals.Element_Collections.Wrap
313           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Inherited_Member
314             (Self.Element)));
315   end Get_Inherited_Member;
316
317   ---------------------
318   -- Get_Is_Abstract --
319   ---------------------
320
321   overriding function Get_Is_Abstract
322    (Self : not null access constant UML_Use_Case_Proxy)
323       return Boolean is
324   begin
325      return
326        AMF.Internals.Tables.UML_Attributes.Internal_Get_Is_Abstract
327         (Self.Element);
328   end Get_Is_Abstract;
329
330   ---------------------------------
331   -- Get_Is_Final_Specialization --
332   ---------------------------------
333
334   overriding function Get_Is_Final_Specialization
335    (Self : not null access constant UML_Use_Case_Proxy)
336       return Boolean is
337   begin
338      return
339        AMF.Internals.Tables.UML_Attributes.Internal_Get_Is_Final_Specialization
340         (Self.Element);
341   end Get_Is_Final_Specialization;
342
343   ---------------------------------
344   -- Set_Is_Final_Specialization --
345   ---------------------------------
346
347   overriding procedure Set_Is_Final_Specialization
348    (Self : not null access UML_Use_Case_Proxy;
349     To   : Boolean) is
350   begin
351      AMF.Internals.Tables.UML_Attributes.Internal_Set_Is_Final_Specialization
352       (Self.Element, To);
353   end Set_Is_Final_Specialization;
354
355   ----------------------------------
356   -- Get_Owned_Template_Signature --
357   ----------------------------------
358
359   overriding function Get_Owned_Template_Signature
360    (Self : not null access constant UML_Use_Case_Proxy)
361       return AMF.UML.Redefinable_Template_Signatures.UML_Redefinable_Template_Signature_Access is
362   begin
363      return
364        AMF.UML.Redefinable_Template_Signatures.UML_Redefinable_Template_Signature_Access
365         (AMF.Internals.Helpers.To_Element
366           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Owned_Template_Signature
367             (Self.Element)));
368   end Get_Owned_Template_Signature;
369
370   ----------------------------------
371   -- Set_Owned_Template_Signature --
372   ----------------------------------
373
374   overriding procedure Set_Owned_Template_Signature
375    (Self : not null access UML_Use_Case_Proxy;
376     To   : AMF.UML.Redefinable_Template_Signatures.UML_Redefinable_Template_Signature_Access) is
377   begin
378      AMF.Internals.Tables.UML_Attributes.Internal_Set_Owned_Template_Signature
379       (Self.Element,
380        AMF.Internals.Helpers.To_Element
381         (AMF.Elements.Element_Access (To)));
382   end Set_Owned_Template_Signature;
383
384   ------------------------
385   -- Get_Owned_Use_Case --
386   ------------------------
387
388   overriding function Get_Owned_Use_Case
389    (Self : not null access constant UML_Use_Case_Proxy)
390       return AMF.UML.Use_Cases.Collections.Set_Of_UML_Use_Case is
391   begin
392      return
393        AMF.UML.Use_Cases.Collections.Wrap
394         (AMF.Internals.Element_Collections.Wrap
395           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Owned_Use_Case
396             (Self.Element)));
397   end Get_Owned_Use_Case;
398
399   --------------------------
400   -- Get_Powertype_Extent --
401   --------------------------
402
403   overriding function Get_Powertype_Extent
404    (Self : not null access constant UML_Use_Case_Proxy)
405       return AMF.UML.Generalization_Sets.Collections.Set_Of_UML_Generalization_Set is
406   begin
407      return
408        AMF.UML.Generalization_Sets.Collections.Wrap
409         (AMF.Internals.Element_Collections.Wrap
410           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Powertype_Extent
411             (Self.Element)));
412   end Get_Powertype_Extent;
413
414   ------------------------------
415   -- Get_Redefined_Classifier --
416   ------------------------------
417
418   overriding function Get_Redefined_Classifier
419    (Self : not null access constant UML_Use_Case_Proxy)
420       return AMF.UML.Classifiers.Collections.Set_Of_UML_Classifier is
421   begin
422      return
423        AMF.UML.Classifiers.Collections.Wrap
424         (AMF.Internals.Element_Collections.Wrap
425           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Redefined_Classifier
426             (Self.Element)));
427   end Get_Redefined_Classifier;
428
429   ------------------------
430   -- Get_Representation --
431   ------------------------
432
433   overriding function Get_Representation
434    (Self : not null access constant UML_Use_Case_Proxy)
435       return AMF.UML.Collaboration_Uses.UML_Collaboration_Use_Access is
436   begin
437      return
438        AMF.UML.Collaboration_Uses.UML_Collaboration_Use_Access
439         (AMF.Internals.Helpers.To_Element
440           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Representation
441             (Self.Element)));
442   end Get_Representation;
443
444   ------------------------
445   -- Set_Representation --
446   ------------------------
447
448   overriding procedure Set_Representation
449    (Self : not null access UML_Use_Case_Proxy;
450     To   : AMF.UML.Collaboration_Uses.UML_Collaboration_Use_Access) is
451   begin
452      AMF.Internals.Tables.UML_Attributes.Internal_Set_Representation
453       (Self.Element,
454        AMF.Internals.Helpers.To_Element
455         (AMF.Elements.Element_Access (To)));
456   end Set_Representation;
457
458   ----------------------
459   -- Get_Substitution --
460   ----------------------
461
462   overriding function Get_Substitution
463    (Self : not null access constant UML_Use_Case_Proxy)
464       return AMF.UML.Substitutions.Collections.Set_Of_UML_Substitution is
465   begin
466      return
467        AMF.UML.Substitutions.Collections.Wrap
468         (AMF.Internals.Element_Collections.Wrap
469           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Substitution
470             (Self.Element)));
471   end Get_Substitution;
472
473   ----------------------------
474   -- Get_Template_Parameter --
475   ----------------------------
476
477   overriding function Get_Template_Parameter
478    (Self : not null access constant UML_Use_Case_Proxy)
479       return AMF.UML.Classifier_Template_Parameters.UML_Classifier_Template_Parameter_Access is
480   begin
481      return
482        AMF.UML.Classifier_Template_Parameters.UML_Classifier_Template_Parameter_Access
483         (AMF.Internals.Helpers.To_Element
484           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Template_Parameter
485             (Self.Element)));
486   end Get_Template_Parameter;
487
488   ----------------------------
489   -- Set_Template_Parameter --
490   ----------------------------
491
492   overriding procedure Set_Template_Parameter
493    (Self : not null access UML_Use_Case_Proxy;
494     To   : AMF.UML.Classifier_Template_Parameters.UML_Classifier_Template_Parameter_Access) is
495   begin
496      AMF.Internals.Tables.UML_Attributes.Internal_Set_Template_Parameter
497       (Self.Element,
498        AMF.Internals.Helpers.To_Element
499         (AMF.Elements.Element_Access (To)));
500   end Set_Template_Parameter;
501
502   ------------------
503   -- Get_Use_Case --
504   ------------------
505
506   overriding function Get_Use_Case
507    (Self : not null access constant UML_Use_Case_Proxy)
508       return AMF.UML.Use_Cases.Collections.Set_Of_UML_Use_Case is
509   begin
510      return
511        AMF.UML.Use_Cases.Collections.Wrap
512         (AMF.Internals.Element_Collections.Wrap
513           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Use_Case
514             (Self.Element)));
515   end Get_Use_Case;
516
517   ------------------------
518   -- Get_Element_Import --
519   ------------------------
520
521   overriding function Get_Element_Import
522    (Self : not null access constant UML_Use_Case_Proxy)
523       return AMF.UML.Element_Imports.Collections.Set_Of_UML_Element_Import is
524   begin
525      return
526        AMF.UML.Element_Imports.Collections.Wrap
527         (AMF.Internals.Element_Collections.Wrap
528           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Element_Import
529             (Self.Element)));
530   end Get_Element_Import;
531
532   -------------------------
533   -- Get_Imported_Member --
534   -------------------------
535
536   overriding function Get_Imported_Member
537    (Self : not null access constant UML_Use_Case_Proxy)
538       return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element is
539   begin
540      return
541        AMF.UML.Packageable_Elements.Collections.Wrap
542         (AMF.Internals.Element_Collections.Wrap
543           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Imported_Member
544             (Self.Element)));
545   end Get_Imported_Member;
546
547   ----------------
548   -- Get_Member --
549   ----------------
550
551   overriding function Get_Member
552    (Self : not null access constant UML_Use_Case_Proxy)
553       return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element is
554   begin
555      return
556        AMF.UML.Named_Elements.Collections.Wrap
557         (AMF.Internals.Element_Collections.Wrap
558           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Member
559             (Self.Element)));
560   end Get_Member;
561
562   ----------------------
563   -- Get_Owned_Member --
564   ----------------------
565
566   overriding function Get_Owned_Member
567    (Self : not null access constant UML_Use_Case_Proxy)
568       return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element is
569   begin
570      return
571        AMF.UML.Named_Elements.Collections.Wrap
572         (AMF.Internals.Element_Collections.Wrap
573           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Owned_Member
574             (Self.Element)));
575   end Get_Owned_Member;
576
577   --------------------
578   -- Get_Owned_Rule --
579   --------------------
580
581   overriding function Get_Owned_Rule
582    (Self : not null access constant UML_Use_Case_Proxy)
583       return AMF.UML.Constraints.Collections.Set_Of_UML_Constraint is
584   begin
585      return
586        AMF.UML.Constraints.Collections.Wrap
587         (AMF.Internals.Element_Collections.Wrap
588           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Owned_Rule
589             (Self.Element)));
590   end Get_Owned_Rule;
591
592   ------------------------
593   -- Get_Package_Import --
594   ------------------------
595
596   overriding function Get_Package_Import
597    (Self : not null access constant UML_Use_Case_Proxy)
598       return AMF.UML.Package_Imports.Collections.Set_Of_UML_Package_Import is
599   begin
600      return
601        AMF.UML.Package_Imports.Collections.Wrap
602         (AMF.Internals.Element_Collections.Wrap
603           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Package_Import
604             (Self.Element)));
605   end Get_Package_Import;
606
607   ---------------------------
608   -- Get_Client_Dependency --
609   ---------------------------
610
611   overriding function Get_Client_Dependency
612    (Self : not null access constant UML_Use_Case_Proxy)
613       return AMF.UML.Dependencies.Collections.Set_Of_UML_Dependency is
614   begin
615      return
616        AMF.UML.Dependencies.Collections.Wrap
617         (AMF.Internals.Element_Collections.Wrap
618           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Client_Dependency
619             (Self.Element)));
620   end Get_Client_Dependency;
621
622   -------------------------
623   -- Get_Name_Expression --
624   -------------------------
625
626   overriding function Get_Name_Expression
627    (Self : not null access constant UML_Use_Case_Proxy)
628       return AMF.UML.String_Expressions.UML_String_Expression_Access is
629   begin
630      return
631        AMF.UML.String_Expressions.UML_String_Expression_Access
632         (AMF.Internals.Helpers.To_Element
633           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Name_Expression
634             (Self.Element)));
635   end Get_Name_Expression;
636
637   -------------------------
638   -- Set_Name_Expression --
639   -------------------------
640
641   overriding procedure Set_Name_Expression
642    (Self : not null access UML_Use_Case_Proxy;
643     To   : AMF.UML.String_Expressions.UML_String_Expression_Access) is
644   begin
645      AMF.Internals.Tables.UML_Attributes.Internal_Set_Name_Expression
646       (Self.Element,
647        AMF.Internals.Helpers.To_Element
648         (AMF.Elements.Element_Access (To)));
649   end Set_Name_Expression;
650
651   -------------------
652   -- Get_Namespace --
653   -------------------
654
655   overriding function Get_Namespace
656    (Self : not null access constant UML_Use_Case_Proxy)
657       return AMF.UML.Namespaces.UML_Namespace_Access is
658   begin
659      return
660        AMF.UML.Namespaces.UML_Namespace_Access
661         (AMF.Internals.Helpers.To_Element
662           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Namespace
663             (Self.Element)));
664   end Get_Namespace;
665
666   ------------------------
667   -- Get_Qualified_Name --
668   ------------------------
669
670   overriding function Get_Qualified_Name
671    (Self : not null access constant UML_Use_Case_Proxy)
672       return AMF.Optional_String is
673   begin
674      declare
675         use type Matreshka.Internals.Strings.Shared_String_Access;
676
677         Aux : constant Matreshka.Internals.Strings.Shared_String_Access
678           := AMF.Internals.Tables.UML_Attributes.Internal_Get_Qualified_Name (Self.Element);
679
680      begin
681         if Aux = null then
682            return (Is_Empty => True);
683
684         else
685            return (False, League.Strings.Internals.Create (Aux));
686         end if;
687      end;
688   end Get_Qualified_Name;
689
690   -----------------
691   -- Get_Package --
692   -----------------
693
694   overriding function Get_Package
695    (Self : not null access constant UML_Use_Case_Proxy)
696       return AMF.UML.Packages.UML_Package_Access is
697   begin
698      return
699        AMF.UML.Packages.UML_Package_Access
700         (AMF.Internals.Helpers.To_Element
701           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Package
702             (Self.Element)));
703   end Get_Package;
704
705   -----------------
706   -- Set_Package --
707   -----------------
708
709   overriding procedure Set_Package
710    (Self : not null access UML_Use_Case_Proxy;
711     To   : AMF.UML.Packages.UML_Package_Access) is
712   begin
713      AMF.Internals.Tables.UML_Attributes.Internal_Set_Package
714       (Self.Element,
715        AMF.Internals.Helpers.To_Element
716         (AMF.Elements.Element_Access (To)));
717   end Set_Package;
718
719   -----------------------------------
720   -- Get_Owning_Template_Parameter --
721   -----------------------------------
722
723   overriding function Get_Owning_Template_Parameter
724    (Self : not null access constant UML_Use_Case_Proxy)
725       return AMF.UML.Template_Parameters.UML_Template_Parameter_Access is
726   begin
727      return
728        AMF.UML.Template_Parameters.UML_Template_Parameter_Access
729         (AMF.Internals.Helpers.To_Element
730           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Owning_Template_Parameter
731             (Self.Element)));
732   end Get_Owning_Template_Parameter;
733
734   -----------------------------------
735   -- Set_Owning_Template_Parameter --
736   -----------------------------------
737
738   overriding procedure Set_Owning_Template_Parameter
739    (Self : not null access UML_Use_Case_Proxy;
740     To   : AMF.UML.Template_Parameters.UML_Template_Parameter_Access) is
741   begin
742      AMF.Internals.Tables.UML_Attributes.Internal_Set_Owning_Template_Parameter
743       (Self.Element,
744        AMF.Internals.Helpers.To_Element
745         (AMF.Elements.Element_Access (To)));
746   end Set_Owning_Template_Parameter;
747
748   ----------------------------
749   -- Get_Template_Parameter --
750   ----------------------------
751
752   overriding function Get_Template_Parameter
753    (Self : not null access constant UML_Use_Case_Proxy)
754       return AMF.UML.Template_Parameters.UML_Template_Parameter_Access is
755   begin
756      return
757        AMF.UML.Template_Parameters.UML_Template_Parameter_Access
758         (AMF.Internals.Helpers.To_Element
759           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Template_Parameter
760             (Self.Element)));
761   end Get_Template_Parameter;
762
763   ----------------------------
764   -- Set_Template_Parameter --
765   ----------------------------
766
767   overriding procedure Set_Template_Parameter
768    (Self : not null access UML_Use_Case_Proxy;
769     To   : AMF.UML.Template_Parameters.UML_Template_Parameter_Access) is
770   begin
771      AMF.Internals.Tables.UML_Attributes.Internal_Set_Template_Parameter
772       (Self.Element,
773        AMF.Internals.Helpers.To_Element
774         (AMF.Elements.Element_Access (To)));
775   end Set_Template_Parameter;
776
777   ----------------------------------
778   -- Get_Owned_Template_Signature --
779   ----------------------------------
780
781   overriding function Get_Owned_Template_Signature
782    (Self : not null access constant UML_Use_Case_Proxy)
783       return AMF.UML.Template_Signatures.UML_Template_Signature_Access is
784   begin
785      return
786        AMF.UML.Template_Signatures.UML_Template_Signature_Access
787         (AMF.Internals.Helpers.To_Element
788           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Owned_Template_Signature
789             (Self.Element)));
790   end Get_Owned_Template_Signature;
791
792   ----------------------------------
793   -- Set_Owned_Template_Signature --
794   ----------------------------------
795
796   overriding procedure Set_Owned_Template_Signature
797    (Self : not null access UML_Use_Case_Proxy;
798     To   : AMF.UML.Template_Signatures.UML_Template_Signature_Access) is
799   begin
800      AMF.Internals.Tables.UML_Attributes.Internal_Set_Owned_Template_Signature
801       (Self.Element,
802        AMF.Internals.Helpers.To_Element
803         (AMF.Elements.Element_Access (To)));
804   end Set_Owned_Template_Signature;
805
806   --------------------------
807   -- Get_Template_Binding --
808   --------------------------
809
810   overriding function Get_Template_Binding
811    (Self : not null access constant UML_Use_Case_Proxy)
812       return AMF.UML.Template_Bindings.Collections.Set_Of_UML_Template_Binding is
813   begin
814      return
815        AMF.UML.Template_Bindings.Collections.Wrap
816         (AMF.Internals.Element_Collections.Wrap
817           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Template_Binding
818             (Self.Element)));
819   end Get_Template_Binding;
820
821   -----------------
822   -- Get_Is_Leaf --
823   -----------------
824
825   overriding function Get_Is_Leaf
826    (Self : not null access constant UML_Use_Case_Proxy)
827       return Boolean is
828   begin
829      return
830        AMF.Internals.Tables.UML_Attributes.Internal_Get_Is_Leaf
831         (Self.Element);
832   end Get_Is_Leaf;
833
834   -----------------
835   -- Set_Is_Leaf --
836   -----------------
837
838   overriding procedure Set_Is_Leaf
839    (Self : not null access UML_Use_Case_Proxy;
840     To   : Boolean) is
841   begin
842      AMF.Internals.Tables.UML_Attributes.Internal_Set_Is_Leaf
843       (Self.Element, To);
844   end Set_Is_Leaf;
845
846   ---------------------------
847   -- Get_Redefined_Element --
848   ---------------------------
849
850   overriding function Get_Redefined_Element
851    (Self : not null access constant UML_Use_Case_Proxy)
852       return AMF.UML.Redefinable_Elements.Collections.Set_Of_UML_Redefinable_Element is
853   begin
854      return
855        AMF.UML.Redefinable_Elements.Collections.Wrap
856         (AMF.Internals.Element_Collections.Wrap
857           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Redefined_Element
858             (Self.Element)));
859   end Get_Redefined_Element;
860
861   ------------------------------
862   -- Get_Redefinition_Context --
863   ------------------------------
864
865   overriding function Get_Redefinition_Context
866    (Self : not null access constant UML_Use_Case_Proxy)
867       return AMF.UML.Classifiers.Collections.Set_Of_UML_Classifier is
868   begin
869      return
870        AMF.UML.Classifiers.Collections.Wrap
871         (AMF.Internals.Element_Collections.Wrap
872           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Redefinition_Context
873             (Self.Element)));
874   end Get_Redefinition_Context;
875
876   ----------------------------
877   -- All_Included_Use_Cases --
878   ----------------------------
879
880   overriding function All_Included_Use_Cases
881    (Self : not null access constant UML_Use_Case_Proxy)
882       return AMF.UML.Use_Cases.Collections.Set_Of_UML_Use_Case is
883   begin
884      --  Generated stub: replace with real body!
885      pragma Compile_Time_Warning (Standard.True, "All_Included_Use_Cases unimplemented");
886      raise Program_Error with "Unimplemented procedure UML_Use_Case_Proxy.All_Included_Use_Cases";
887      return All_Included_Use_Cases (Self);
888   end All_Included_Use_Cases;
889
890   ------------------
891   -- All_Features --
892   ------------------
893
894   overriding function All_Features
895    (Self : not null access constant UML_Use_Case_Proxy)
896       return AMF.UML.Features.Collections.Set_Of_UML_Feature is
897   begin
898      --  Generated stub: replace with real body!
899      pragma Compile_Time_Warning (Standard.True, "All_Features unimplemented");
900      raise Program_Error with "Unimplemented procedure UML_Use_Case_Proxy.All_Features";
901      return All_Features (Self);
902   end All_Features;
903
904   -----------------
905   -- Conforms_To --
906   -----------------
907
908   overriding function Conforms_To
909    (Self : not null access constant UML_Use_Case_Proxy;
910     Other : AMF.UML.Classifiers.UML_Classifier_Access)
911       return Boolean is
912   begin
913      --  Generated stub: replace with real body!
914      pragma Compile_Time_Warning (Standard.True, "Conforms_To unimplemented");
915      raise Program_Error with "Unimplemented procedure UML_Use_Case_Proxy.Conforms_To";
916      return Conforms_To (Self, Other);
917   end Conforms_To;
918
919   -------------
920   -- General --
921   -------------
922
923   overriding function General
924    (Self : not null access constant UML_Use_Case_Proxy)
925       return AMF.UML.Classifiers.Collections.Set_Of_UML_Classifier is
926   begin
927      --  Generated stub: replace with real body!
928      pragma Compile_Time_Warning (Standard.True, "General unimplemented");
929      raise Program_Error with "Unimplemented procedure UML_Use_Case_Proxy.General";
930      return General (Self);
931   end General;
932
933   -----------------------
934   -- Has_Visibility_Of --
935   -----------------------
936
937   overriding function Has_Visibility_Of
938    (Self : not null access constant UML_Use_Case_Proxy;
939     N : AMF.UML.Named_Elements.UML_Named_Element_Access)
940       return Boolean is
941   begin
942      --  Generated stub: replace with real body!
943      pragma Compile_Time_Warning (Standard.True, "Has_Visibility_Of unimplemented");
944      raise Program_Error with "Unimplemented procedure UML_Use_Case_Proxy.Has_Visibility_Of";
945      return Has_Visibility_Of (Self, N);
946   end Has_Visibility_Of;
947
948   -------------
949   -- Inherit --
950   -------------
951
952   overriding function Inherit
953    (Self : not null access constant UML_Use_Case_Proxy;
954     Inhs : AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element)
955       return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element is
956   begin
957      --  Generated stub: replace with real body!
958      pragma Compile_Time_Warning (Standard.True, "Inherit unimplemented");
959      raise Program_Error with "Unimplemented procedure UML_Use_Case_Proxy.Inherit";
960      return Inherit (Self, Inhs);
961   end Inherit;
962
963   -------------------------
964   -- Inheritable_Members --
965   -------------------------
966
967   overriding function Inheritable_Members
968    (Self : not null access constant UML_Use_Case_Proxy;
969     C : AMF.UML.Classifiers.UML_Classifier_Access)
970       return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element is
971   begin
972      --  Generated stub: replace with real body!
973      pragma Compile_Time_Warning (Standard.True, "Inheritable_Members unimplemented");
974      raise Program_Error with "Unimplemented procedure UML_Use_Case_Proxy.Inheritable_Members";
975      return Inheritable_Members (Self, C);
976   end Inheritable_Members;
977
978   ----------------------
979   -- Inherited_Member --
980   ----------------------
981
982   overriding function Inherited_Member
983    (Self : not null access constant UML_Use_Case_Proxy)
984       return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element is
985   begin
986      --  Generated stub: replace with real body!
987      pragma Compile_Time_Warning (Standard.True, "Inherited_Member unimplemented");
988      raise Program_Error with "Unimplemented procedure UML_Use_Case_Proxy.Inherited_Member";
989      return Inherited_Member (Self);
990   end Inherited_Member;
991
992   -----------------
993   -- Is_Template --
994   -----------------
995
996   overriding function Is_Template
997    (Self : not null access constant UML_Use_Case_Proxy)
998       return Boolean is
999   begin
1000      --  Generated stub: replace with real body!
1001      pragma Compile_Time_Warning (Standard.True, "Is_Template unimplemented");
1002      raise Program_Error with "Unimplemented procedure UML_Use_Case_Proxy.Is_Template";
1003      return Is_Template (Self);
1004   end Is_Template;
1005
1006   -------------------------
1007   -- May_Specialize_Type --
1008   -------------------------
1009
1010   overriding function May_Specialize_Type
1011    (Self : not null access constant UML_Use_Case_Proxy;
1012     C : AMF.UML.Classifiers.UML_Classifier_Access)
1013       return Boolean is
1014   begin
1015      --  Generated stub: replace with real body!
1016      pragma Compile_Time_Warning (Standard.True, "May_Specialize_Type unimplemented");
1017      raise Program_Error with "Unimplemented procedure UML_Use_Case_Proxy.May_Specialize_Type";
1018      return May_Specialize_Type (Self, C);
1019   end May_Specialize_Type;
1020
1021   ------------------------
1022   -- Exclude_Collisions --
1023   ------------------------
1024
1025   overriding function Exclude_Collisions
1026    (Self : not null access constant UML_Use_Case_Proxy;
1027     Imps : AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element)
1028       return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element is
1029   begin
1030      --  Generated stub: replace with real body!
1031      pragma Compile_Time_Warning (Standard.True, "Exclude_Collisions unimplemented");
1032      raise Program_Error with "Unimplemented procedure UML_Use_Case_Proxy.Exclude_Collisions";
1033      return Exclude_Collisions (Self, Imps);
1034   end Exclude_Collisions;
1035
1036   -------------------------
1037   -- Get_Names_Of_Member --
1038   -------------------------
1039
1040   overriding function Get_Names_Of_Member
1041    (Self : not null access constant UML_Use_Case_Proxy;
1042     Element : AMF.UML.Named_Elements.UML_Named_Element_Access)
1043       return AMF.String_Collections.Set_Of_String is
1044   begin
1045      --  Generated stub: replace with real body!
1046      pragma Compile_Time_Warning (Standard.True, "Get_Names_Of_Member unimplemented");
1047      raise Program_Error with "Unimplemented procedure UML_Use_Case_Proxy.Get_Names_Of_Member";
1048      return Get_Names_Of_Member (Self, Element);
1049   end Get_Names_Of_Member;
1050
1051   --------------------
1052   -- Import_Members --
1053   --------------------
1054
1055   overriding function Import_Members
1056    (Self : not null access constant UML_Use_Case_Proxy;
1057     Imps : AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element)
1058       return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element is
1059   begin
1060      --  Generated stub: replace with real body!
1061      pragma Compile_Time_Warning (Standard.True, "Import_Members unimplemented");
1062      raise Program_Error with "Unimplemented procedure UML_Use_Case_Proxy.Import_Members";
1063      return Import_Members (Self, Imps);
1064   end Import_Members;
1065
1066   ---------------------
1067   -- Imported_Member --
1068   ---------------------
1069
1070   overriding function Imported_Member
1071    (Self : not null access constant UML_Use_Case_Proxy)
1072       return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element is
1073   begin
1074      --  Generated stub: replace with real body!
1075      pragma Compile_Time_Warning (Standard.True, "Imported_Member unimplemented");
1076      raise Program_Error with "Unimplemented procedure UML_Use_Case_Proxy.Imported_Member";
1077      return Imported_Member (Self);
1078   end Imported_Member;
1079
1080   ---------------------------------
1081   -- Members_Are_Distinguishable --
1082   ---------------------------------
1083
1084   overriding function Members_Are_Distinguishable
1085    (Self : not null access constant UML_Use_Case_Proxy)
1086       return Boolean is
1087   begin
1088      --  Generated stub: replace with real body!
1089      pragma Compile_Time_Warning (Standard.True, "Members_Are_Distinguishable unimplemented");
1090      raise Program_Error with "Unimplemented procedure UML_Use_Case_Proxy.Members_Are_Distinguishable";
1091      return Members_Are_Distinguishable (Self);
1092   end Members_Are_Distinguishable;
1093
1094   ------------------
1095   -- Owned_Member --
1096   ------------------
1097
1098   overriding function Owned_Member
1099    (Self : not null access constant UML_Use_Case_Proxy)
1100       return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element is
1101   begin
1102      --  Generated stub: replace with real body!
1103      pragma Compile_Time_Warning (Standard.True, "Owned_Member unimplemented");
1104      raise Program_Error with "Unimplemented procedure UML_Use_Case_Proxy.Owned_Member";
1105      return Owned_Member (Self);
1106   end Owned_Member;
1107
1108   -------------------------
1109   -- All_Owning_Packages --
1110   -------------------------
1111
1112   overriding function All_Owning_Packages
1113    (Self : not null access constant UML_Use_Case_Proxy)
1114       return AMF.UML.Packages.Collections.Set_Of_UML_Package is
1115   begin
1116      --  Generated stub: replace with real body!
1117      pragma Compile_Time_Warning (Standard.True, "All_Owning_Packages unimplemented");
1118      raise Program_Error with "Unimplemented procedure UML_Use_Case_Proxy.All_Owning_Packages";
1119      return All_Owning_Packages (Self);
1120   end All_Owning_Packages;
1121
1122   -----------------------------
1123   -- Is_Distinguishable_From --
1124   -----------------------------
1125
1126   overriding function Is_Distinguishable_From
1127    (Self : not null access constant UML_Use_Case_Proxy;
1128     N : AMF.UML.Named_Elements.UML_Named_Element_Access;
1129     Ns : AMF.UML.Namespaces.UML_Namespace_Access)
1130       return Boolean is
1131   begin
1132      --  Generated stub: replace with real body!
1133      pragma Compile_Time_Warning (Standard.True, "Is_Distinguishable_From unimplemented");
1134      raise Program_Error with "Unimplemented procedure UML_Use_Case_Proxy.Is_Distinguishable_From";
1135      return Is_Distinguishable_From (Self, N, Ns);
1136   end Is_Distinguishable_From;
1137
1138   ---------------
1139   -- Namespace --
1140   ---------------
1141
1142   overriding function Namespace
1143    (Self : not null access constant UML_Use_Case_Proxy)
1144       return AMF.UML.Namespaces.UML_Namespace_Access is
1145   begin
1146      --  Generated stub: replace with real body!
1147      pragma Compile_Time_Warning (Standard.True, "Namespace unimplemented");
1148      raise Program_Error with "Unimplemented procedure UML_Use_Case_Proxy.Namespace";
1149      return Namespace (Self);
1150   end Namespace;
1151
1152   -----------------
1153   -- Conforms_To --
1154   -----------------
1155
1156   overriding function Conforms_To
1157    (Self : not null access constant UML_Use_Case_Proxy;
1158     Other : AMF.UML.Types.UML_Type_Access)
1159       return Boolean is
1160   begin
1161      --  Generated stub: replace with real body!
1162      pragma Compile_Time_Warning (Standard.True, "Conforms_To unimplemented");
1163      raise Program_Error with "Unimplemented procedure UML_Use_Case_Proxy.Conforms_To";
1164      return Conforms_To (Self, Other);
1165   end Conforms_To;
1166
1167   ------------------------
1168   -- Is_Compatible_With --
1169   ------------------------
1170
1171   overriding function Is_Compatible_With
1172    (Self : not null access constant UML_Use_Case_Proxy;
1173     P : AMF.UML.Parameterable_Elements.UML_Parameterable_Element_Access)
1174       return Boolean is
1175   begin
1176      --  Generated stub: replace with real body!
1177      pragma Compile_Time_Warning (Standard.True, "Is_Compatible_With unimplemented");
1178      raise Program_Error with "Unimplemented procedure UML_Use_Case_Proxy.Is_Compatible_With";
1179      return Is_Compatible_With (Self, P);
1180   end Is_Compatible_With;
1181
1182   ---------------------------
1183   -- Is_Template_Parameter --
1184   ---------------------------
1185
1186   overriding function Is_Template_Parameter
1187    (Self : not null access constant UML_Use_Case_Proxy)
1188       return Boolean is
1189   begin
1190      --  Generated stub: replace with real body!
1191      pragma Compile_Time_Warning (Standard.True, "Is_Template_Parameter unimplemented");
1192      raise Program_Error with "Unimplemented procedure UML_Use_Case_Proxy.Is_Template_Parameter";
1193      return Is_Template_Parameter (Self);
1194   end Is_Template_Parameter;
1195
1196   ----------------------------
1197   -- Parameterable_Elements --
1198   ----------------------------
1199
1200   overriding function Parameterable_Elements
1201    (Self : not null access constant UML_Use_Case_Proxy)
1202       return AMF.UML.Parameterable_Elements.Collections.Set_Of_UML_Parameterable_Element is
1203   begin
1204      --  Generated stub: replace with real body!
1205      pragma Compile_Time_Warning (Standard.True, "Parameterable_Elements unimplemented");
1206      raise Program_Error with "Unimplemented procedure UML_Use_Case_Proxy.Parameterable_Elements";
1207      return Parameterable_Elements (Self);
1208   end Parameterable_Elements;
1209
1210   ------------------------
1211   -- Is_Consistent_With --
1212   ------------------------
1213
1214   overriding function Is_Consistent_With
1215    (Self : not null access constant UML_Use_Case_Proxy;
1216     Redefinee : AMF.UML.Redefinable_Elements.UML_Redefinable_Element_Access)
1217       return Boolean is
1218   begin
1219      --  Generated stub: replace with real body!
1220      pragma Compile_Time_Warning (Standard.True, "Is_Consistent_With unimplemented");
1221      raise Program_Error with "Unimplemented procedure UML_Use_Case_Proxy.Is_Consistent_With";
1222      return Is_Consistent_With (Self, Redefinee);
1223   end Is_Consistent_With;
1224
1225   -----------------------------------
1226   -- Is_Redefinition_Context_Valid --
1227   -----------------------------------
1228
1229   overriding function Is_Redefinition_Context_Valid
1230    (Self : not null access constant UML_Use_Case_Proxy;
1231     Redefined : AMF.UML.Redefinable_Elements.UML_Redefinable_Element_Access)
1232       return Boolean is
1233   begin
1234      --  Generated stub: replace with real body!
1235      pragma Compile_Time_Warning (Standard.True, "Is_Redefinition_Context_Valid unimplemented");
1236      raise Program_Error with "Unimplemented procedure UML_Use_Case_Proxy.Is_Redefinition_Context_Valid";
1237      return Is_Redefinition_Context_Valid (Self, Redefined);
1238   end Is_Redefinition_Context_Valid;
1239
1240end AMF.Internals.UML_Use_Cases;
1241