1------------------------------------------------------------------------------
2--                                                                          --
3--                            Matreshka Project                             --
4--                                                                          --
5--                          Ada Modeling Framework                          --
6--                                                                          --
7--                        Runtime Library Component                         --
8--                                                                          --
9------------------------------------------------------------------------------
10--                                                                          --
11-- Copyright © 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: 3436 $ $Date: 2012-11-14 10:14:34 +0400 (Wed, 14 Nov 2012) $
43------------------------------------------------------------------------------
44with AMF.Elements;
45with AMF.Internals.Element_Collections;
46with AMF.Internals.Helpers;
47with AMF.Internals.Tables.UML_Attributes;
48with AMF.Visitors.UMLDI_Iterators;
49with AMF.Visitors.UMLDI_Visitors;
50with League.Strings.Internals;
51with Matreshka.Internals.Strings;
52
53package body AMF.Internals.UMLDI_UML_Use_Case_Diagrams is
54
55   -----------------------
56   -- Get_Model_Element --
57   -----------------------
58
59   overriding function Get_Model_Element
60    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy)
61       return AMF.UML.Behaviors.UML_Behavior_Access is
62   begin
63      return
64        AMF.UML.Behaviors.UML_Behavior_Access
65         (AMF.Internals.Helpers.To_Element
66           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Model_Element
67             (Self.Element)));
68   end Get_Model_Element;
69
70   -----------------------
71   -- Set_Model_Element --
72   -----------------------
73
74   overriding procedure Set_Model_Element
75    (Self : not null access UMLDI_UML_Use_Case_Diagram_Proxy;
76     To   : AMF.UML.Behaviors.UML_Behavior_Access) is
77   begin
78      raise Program_Error;
79--      AMF.Internals.Tables.UML_Attributes.Internal_Set_Model_Element
80--       (Self.Element,
81--        AMF.Internals.Helpers.To_Element
82--         (AMF.Elements.Element_Access (To)));
83   end Set_Model_Element;
84
85   -----------------
86   -- Get_Heading --
87   -----------------
88
89   overriding function Get_Heading
90    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy)
91       return AMF.UMLDI.UML_Labels.UMLDI_UML_Label_Access is
92   begin
93      return
94        AMF.UMLDI.UML_Labels.UMLDI_UML_Label_Access
95         (AMF.Internals.Helpers.To_Element
96           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Heading
97             (Self.Element)));
98   end Get_Heading;
99
100   -----------------
101   -- Set_Heading --
102   -----------------
103
104   overriding procedure Set_Heading
105    (Self : not null access UMLDI_UML_Use_Case_Diagram_Proxy;
106     To   : AMF.UMLDI.UML_Labels.UMLDI_UML_Label_Access) is
107   begin
108      AMF.Internals.Tables.UML_Attributes.Internal_Set_Heading
109       (Self.Element,
110        AMF.Internals.Helpers.To_Element
111         (AMF.Elements.Element_Access (To)));
112   end Set_Heading;
113
114   ------------------
115   -- Get_Is_Frame --
116   ------------------
117
118   overriding function Get_Is_Frame
119    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy)
120       return Boolean is
121   begin
122      return
123        AMF.Internals.Tables.UML_Attributes.Internal_Get_Is_Frame
124         (Self.Element);
125   end Get_Is_Frame;
126
127   ------------------
128   -- Set_Is_Frame --
129   ------------------
130
131   overriding procedure Set_Is_Frame
132    (Self : not null access UMLDI_UML_Use_Case_Diagram_Proxy;
133     To   : Boolean) is
134   begin
135      AMF.Internals.Tables.UML_Attributes.Internal_Set_Is_Frame
136       (Self.Element, To);
137   end Set_Is_Frame;
138
139   ----------------
140   -- Get_Is_Iso --
141   ----------------
142
143   overriding function Get_Is_Iso
144    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy)
145       return Boolean is
146   begin
147      return
148        AMF.Internals.Tables.UML_Attributes.Internal_Get_Is_Iso
149         (Self.Element);
150   end Get_Is_Iso;
151
152   ----------------
153   -- Set_Is_Iso --
154   ----------------
155
156   overriding procedure Set_Is_Iso
157    (Self : not null access UMLDI_UML_Use_Case_Diagram_Proxy;
158     To   : Boolean) is
159   begin
160      AMF.Internals.Tables.UML_Attributes.Internal_Set_Is_Iso
161       (Self.Element, To);
162   end Set_Is_Iso;
163
164   -----------------
165   -- Get_Is_Icon --
166   -----------------
167
168   overriding function Get_Is_Icon
169    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy)
170       return Boolean is
171   begin
172      return
173        AMF.Internals.Tables.UML_Attributes.Internal_Get_Is_Icon
174         (Self.Element);
175   end Get_Is_Icon;
176
177   -----------------
178   -- Set_Is_Icon --
179   -----------------
180
181   overriding procedure Set_Is_Icon
182    (Self : not null access UMLDI_UML_Use_Case_Diagram_Proxy;
183     To   : Boolean) is
184   begin
185      AMF.Internals.Tables.UML_Attributes.Internal_Set_Is_Icon
186       (Self.Element, To);
187   end Set_Is_Icon;
188
189   ---------------------
190   -- Get_Local_Style --
191   ---------------------
192
193   overriding function Get_Local_Style
194    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy)
195       return AMF.UMLDI.UML_Styles.UMLDI_UML_Style_Access is
196   begin
197      return
198        AMF.UMLDI.UML_Styles.UMLDI_UML_Style_Access
199         (AMF.Internals.Helpers.To_Element
200           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Local_Style
201             (Self.Element)));
202   end Get_Local_Style;
203
204   ---------------------
205   -- Set_Local_Style --
206   ---------------------
207
208   overriding procedure Set_Local_Style
209    (Self : not null access UMLDI_UML_Use_Case_Diagram_Proxy;
210     To   : AMF.UMLDI.UML_Styles.UMLDI_UML_Style_Access) is
211   begin
212      AMF.Internals.Tables.UML_Attributes.Internal_Set_Local_Style
213       (Self.Element,
214        AMF.Internals.Helpers.To_Element
215         (AMF.Elements.Element_Access (To)));
216   end Set_Local_Style;
217
218   -----------------------
219   -- Get_Model_Element --
220   -----------------------
221
222   overriding function Get_Model_Element
223    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy)
224       return AMF.UML.Elements.Collections.Set_Of_UML_Element is
225   begin
226      raise Program_Error;
227      return X : AMF.UML.Elements.Collections.Set_Of_UML_Element;
228--      return
229--        AMF.UML.Elements.Collections.Wrap
230--         (AMF.Internals.Element_Collections.Wrap
231--           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Model_Element
232--             (Self.Element)));
233   end Get_Model_Element;
234
235   -----------------------
236   -- Get_Model_Element --
237   -----------------------
238
239   overriding function Get_Model_Element
240    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy)
241       return AMF.CMOF.Elements.CMOF_Element_Access is
242   begin
243      return
244        AMF.CMOF.Elements.CMOF_Element_Access
245         (AMF.Internals.Helpers.To_Element
246           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Model_Element
247             (Self.Element)));
248   end Get_Model_Element;
249
250   ---------------------
251   -- Get_Local_Style --
252   ---------------------
253
254   overriding function Get_Local_Style
255    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy)
256       return AMF.DI.Styles.DI_Style_Access is
257   begin
258      return
259        AMF.DI.Styles.DI_Style_Access
260         (AMF.Internals.Helpers.To_Element
261           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Local_Style
262             (Self.Element)));
263   end Get_Local_Style;
264
265   ---------------------
266   -- Set_Local_Style --
267   ---------------------
268
269   overriding procedure Set_Local_Style
270    (Self : not null access UMLDI_UML_Use_Case_Diagram_Proxy;
271     To   : AMF.DI.Styles.DI_Style_Access) is
272   begin
273      AMF.Internals.Tables.UML_Attributes.Internal_Set_Local_Style
274       (Self.Element,
275        AMF.Internals.Helpers.To_Element
276         (AMF.Elements.Element_Access (To)));
277   end Set_Local_Style;
278
279   --------------
280   -- Get_Name --
281   --------------
282
283   overriding function Get_Name
284    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy)
285       return League.Strings.Universal_String is
286   begin
287      null;
288      return
289        League.Strings.Internals.Create
290         (AMF.Internals.Tables.UML_Attributes.Internal_Get_Name (Self.Element));
291   end Get_Name;
292
293   --------------
294   -- Set_Name --
295   --------------
296
297   overriding procedure Set_Name
298    (Self : not null access UMLDI_UML_Use_Case_Diagram_Proxy;
299     To   : League.Strings.Universal_String) is
300   begin
301      AMF.Internals.Tables.UML_Attributes.Internal_Set_Name
302       (Self.Element,
303        League.Strings.Internals.Internal (To));
304   end Set_Name;
305
306   -----------------------
307   -- Get_Documentation --
308   -----------------------
309
310   overriding function Get_Documentation
311    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy)
312       return League.Strings.Universal_String is
313   begin
314      null;
315      return
316        League.Strings.Internals.Create
317         (AMF.Internals.Tables.UML_Attributes.Internal_Get_Documentation (Self.Element));
318   end Get_Documentation;
319
320   -----------------------
321   -- Set_Documentation --
322   -----------------------
323
324   overriding procedure Set_Documentation
325    (Self : not null access UMLDI_UML_Use_Case_Diagram_Proxy;
326     To   : League.Strings.Universal_String) is
327   begin
328      AMF.Internals.Tables.UML_Attributes.Internal_Set_Documentation
329       (Self.Element,
330        League.Strings.Internals.Internal (To));
331   end Set_Documentation;
332
333   --------------------
334   -- Get_Resolution --
335   --------------------
336
337   overriding function Get_Resolution
338    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy)
339       return AMF.Real is
340   begin
341      return
342        AMF.Internals.Tables.UML_Attributes.Internal_Get_Resolution
343         (Self.Element);
344   end Get_Resolution;
345
346   --------------------
347   -- Set_Resolution --
348   --------------------
349
350   overriding procedure Set_Resolution
351    (Self : not null access UMLDI_UML_Use_Case_Diagram_Proxy;
352     To   : AMF.Real) is
353   begin
354      AMF.Internals.Tables.UML_Attributes.Internal_Set_Resolution
355       (Self.Element, To);
356   end Set_Resolution;
357
358   ---------------------------
359   -- Get_Client_Dependency --
360   ---------------------------
361
362   overriding function Get_Client_Dependency
363    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy)
364       return AMF.UML.Dependencies.Collections.Set_Of_UML_Dependency is
365   begin
366      return
367        AMF.UML.Dependencies.Collections.Wrap
368         (AMF.Internals.Element_Collections.Wrap
369           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Client_Dependency
370             (Self.Element)));
371   end Get_Client_Dependency;
372
373   --------------
374   -- Get_Name --
375   --------------
376
377   overriding function Get_Name
378    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy)
379       return AMF.Optional_String is
380   begin
381      declare
382         use type Matreshka.Internals.Strings.Shared_String_Access;
383
384         Aux : constant Matreshka.Internals.Strings.Shared_String_Access
385           := AMF.Internals.Tables.UML_Attributes.Internal_Get_Name (Self.Element);
386
387      begin
388         if Aux = null then
389            return (Is_Empty => True);
390
391         else
392            return (False, League.Strings.Internals.Create (Aux));
393         end if;
394      end;
395   end Get_Name;
396
397   --------------
398   -- Set_Name --
399   --------------
400
401   overriding procedure Set_Name
402    (Self : not null access UMLDI_UML_Use_Case_Diagram_Proxy;
403     To   : AMF.Optional_String) is
404   begin
405      if To.Is_Empty then
406         AMF.Internals.Tables.UML_Attributes.Internal_Set_Name
407          (Self.Element, null);
408
409      else
410         AMF.Internals.Tables.UML_Attributes.Internal_Set_Name
411          (Self.Element,
412           League.Strings.Internals.Internal (To.Value));
413      end if;
414   end Set_Name;
415
416   -------------------------
417   -- Get_Name_Expression --
418   -------------------------
419
420   overriding function Get_Name_Expression
421    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy)
422       return AMF.UML.String_Expressions.UML_String_Expression_Access is
423   begin
424      return
425        AMF.UML.String_Expressions.UML_String_Expression_Access
426         (AMF.Internals.Helpers.To_Element
427           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Name_Expression
428             (Self.Element)));
429   end Get_Name_Expression;
430
431   -------------------------
432   -- Set_Name_Expression --
433   -------------------------
434
435   overriding procedure Set_Name_Expression
436    (Self : not null access UMLDI_UML_Use_Case_Diagram_Proxy;
437     To   : AMF.UML.String_Expressions.UML_String_Expression_Access) is
438   begin
439      AMF.Internals.Tables.UML_Attributes.Internal_Set_Name_Expression
440       (Self.Element,
441        AMF.Internals.Helpers.To_Element
442         (AMF.Elements.Element_Access (To)));
443   end Set_Name_Expression;
444
445   -------------------
446   -- Get_Namespace --
447   -------------------
448
449   overriding function Get_Namespace
450    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy)
451       return AMF.UML.Namespaces.UML_Namespace_Access is
452   begin
453      return
454        AMF.UML.Namespaces.UML_Namespace_Access
455         (AMF.Internals.Helpers.To_Element
456           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Namespace
457             (Self.Element)));
458   end Get_Namespace;
459
460   ------------------------
461   -- Get_Qualified_Name --
462   ------------------------
463
464   overriding function Get_Qualified_Name
465    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy)
466       return AMF.Optional_String is
467   begin
468      declare
469         use type Matreshka.Internals.Strings.Shared_String_Access;
470
471         Aux : constant Matreshka.Internals.Strings.Shared_String_Access
472           := AMF.Internals.Tables.UML_Attributes.Internal_Get_Qualified_Name (Self.Element);
473
474      begin
475         if Aux = null then
476            return (Is_Empty => True);
477
478         else
479            return (False, League.Strings.Internals.Create (Aux));
480         end if;
481      end;
482   end Get_Qualified_Name;
483
484   -----------------------
485   -- Get_Owned_Comment --
486   -----------------------
487
488   overriding function Get_Owned_Comment
489    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy)
490       return AMF.UML.Comments.Collections.Set_Of_UML_Comment is
491   begin
492      return
493        AMF.UML.Comments.Collections.Wrap
494         (AMF.Internals.Element_Collections.Wrap
495           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Owned_Comment
496             (Self.Element)));
497   end Get_Owned_Comment;
498
499   -----------------------
500   -- Get_Owned_Element --
501   -----------------------
502
503   overriding function Get_Owned_Element
504    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy)
505       return AMF.UML.Elements.Collections.Set_Of_UML_Element is
506   begin
507      return
508        AMF.UML.Elements.Collections.Wrap
509         (AMF.Internals.Element_Collections.Wrap
510           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Owned_Element
511             (Self.Element)));
512   end Get_Owned_Element;
513
514   ---------------
515   -- Get_Owner --
516   ---------------
517
518   overriding function Get_Owner
519    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy)
520       return AMF.UML.Elements.UML_Element_Access is
521   begin
522      return
523        AMF.UML.Elements.UML_Element_Access
524         (AMF.Internals.Helpers.To_Element
525           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Owner
526             (Self.Element)));
527   end Get_Owner;
528
529   -----------------------------------
530   -- Get_Owning_Template_Parameter --
531   -----------------------------------
532
533   overriding function Get_Owning_Template_Parameter
534    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy)
535       return AMF.UML.Template_Parameters.UML_Template_Parameter_Access is
536   begin
537      return
538        AMF.UML.Template_Parameters.UML_Template_Parameter_Access
539         (AMF.Internals.Helpers.To_Element
540           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Owning_Template_Parameter
541             (Self.Element)));
542   end Get_Owning_Template_Parameter;
543
544   -----------------------------------
545   -- Set_Owning_Template_Parameter --
546   -----------------------------------
547
548   overriding procedure Set_Owning_Template_Parameter
549    (Self : not null access UMLDI_UML_Use_Case_Diagram_Proxy;
550     To   : AMF.UML.Template_Parameters.UML_Template_Parameter_Access) is
551   begin
552      AMF.Internals.Tables.UML_Attributes.Internal_Set_Owning_Template_Parameter
553       (Self.Element,
554        AMF.Internals.Helpers.To_Element
555         (AMF.Elements.Element_Access (To)));
556   end Set_Owning_Template_Parameter;
557
558   ----------------------------
559   -- Get_Template_Parameter --
560   ----------------------------
561
562   overriding function Get_Template_Parameter
563    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy)
564       return AMF.UML.Template_Parameters.UML_Template_Parameter_Access is
565   begin
566      return
567        AMF.UML.Template_Parameters.UML_Template_Parameter_Access
568         (AMF.Internals.Helpers.To_Element
569           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Template_Parameter
570             (Self.Element)));
571   end Get_Template_Parameter;
572
573   ----------------------------
574   -- Set_Template_Parameter --
575   ----------------------------
576
577   overriding procedure Set_Template_Parameter
578    (Self : not null access UMLDI_UML_Use_Case_Diagram_Proxy;
579     To   : AMF.UML.Template_Parameters.UML_Template_Parameter_Access) is
580   begin
581      AMF.Internals.Tables.UML_Attributes.Internal_Set_Template_Parameter
582       (Self.Element,
583        AMF.Internals.Helpers.To_Element
584         (AMF.Elements.Element_Access (To)));
585   end Set_Template_Parameter;
586
587   --------------------
588   -- All_Namespaces --
589   --------------------
590
591   overriding function All_Namespaces
592    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy)
593       return AMF.UML.Namespaces.Collections.Ordered_Set_Of_UML_Namespace is
594   begin
595      --  Generated stub: replace with real body!
596      pragma Compile_Time_Warning (Standard.True, "All_Namespaces unimplemented");
597      raise Program_Error with "Unimplemented procedure UMLDI_UML_Use_Case_Diagram_Proxy.All_Namespaces";
598      return All_Namespaces (Self);
599   end All_Namespaces;
600
601   -------------------------
602   -- All_Owning_Packages --
603   -------------------------
604
605   overriding function All_Owning_Packages
606    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy)
607       return AMF.UML.Packages.Collections.Set_Of_UML_Package is
608   begin
609      --  Generated stub: replace with real body!
610      pragma Compile_Time_Warning (Standard.True, "All_Owning_Packages unimplemented");
611      raise Program_Error with "Unimplemented procedure UMLDI_UML_Use_Case_Diagram_Proxy.All_Owning_Packages";
612      return All_Owning_Packages (Self);
613   end All_Owning_Packages;
614
615   -----------------------------
616   -- Is_Distinguishable_From --
617   -----------------------------
618
619   overriding function Is_Distinguishable_From
620    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy;
621     N : AMF.UML.Named_Elements.UML_Named_Element_Access;
622     Ns : AMF.UML.Namespaces.UML_Namespace_Access)
623       return Boolean is
624   begin
625      --  Generated stub: replace with real body!
626      pragma Compile_Time_Warning (Standard.True, "Is_Distinguishable_From unimplemented");
627      raise Program_Error with "Unimplemented procedure UMLDI_UML_Use_Case_Diagram_Proxy.Is_Distinguishable_From";
628      return Is_Distinguishable_From (Self, N, Ns);
629   end Is_Distinguishable_From;
630
631   ---------------
632   -- Namespace --
633   ---------------
634
635   overriding function Namespace
636    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy)
637       return AMF.UML.Namespaces.UML_Namespace_Access is
638   begin
639      --  Generated stub: replace with real body!
640      pragma Compile_Time_Warning (Standard.True, "Namespace unimplemented");
641      raise Program_Error with "Unimplemented procedure UMLDI_UML_Use_Case_Diagram_Proxy.Namespace";
642      return Namespace (Self);
643   end Namespace;
644
645   --------------------
646   -- Qualified_Name --
647   --------------------
648
649   overriding function Qualified_Name
650    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy)
651       return League.Strings.Universal_String is
652   begin
653      --  Generated stub: replace with real body!
654      pragma Compile_Time_Warning (Standard.True, "Qualified_Name unimplemented");
655      raise Program_Error with "Unimplemented procedure UMLDI_UML_Use_Case_Diagram_Proxy.Qualified_Name";
656      return Qualified_Name (Self);
657   end Qualified_Name;
658
659   ---------------
660   -- Separator --
661   ---------------
662
663   overriding function Separator
664    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy)
665       return League.Strings.Universal_String is
666   begin
667      --  Generated stub: replace with real body!
668      pragma Compile_Time_Warning (Standard.True, "Separator unimplemented");
669      raise Program_Error with "Unimplemented procedure UMLDI_UML_Use_Case_Diagram_Proxy.Separator";
670      return Separator (Self);
671   end Separator;
672
673   ------------------------
674   -- All_Owned_Elements --
675   ------------------------
676
677   overriding function All_Owned_Elements
678    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy)
679       return AMF.UML.Elements.Collections.Set_Of_UML_Element is
680   begin
681      --  Generated stub: replace with real body!
682      pragma Compile_Time_Warning (Standard.True, "All_Owned_Elements unimplemented");
683      raise Program_Error with "Unimplemented procedure UMLDI_UML_Use_Case_Diagram_Proxy.All_Owned_Elements";
684      return All_Owned_Elements (Self);
685   end All_Owned_Elements;
686
687   ------------------------
688   -- Is_Compatible_With --
689   ------------------------
690
691   overriding function Is_Compatible_With
692    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy;
693     P : AMF.UML.Parameterable_Elements.UML_Parameterable_Element_Access)
694       return Boolean is
695   begin
696      --  Generated stub: replace with real body!
697      pragma Compile_Time_Warning (Standard.True, "Is_Compatible_With unimplemented");
698      raise Program_Error with "Unimplemented procedure UMLDI_UML_Use_Case_Diagram_Proxy.Is_Compatible_With";
699      return Is_Compatible_With (Self, P);
700   end Is_Compatible_With;
701
702   ---------------------------
703   -- Is_Template_Parameter --
704   ---------------------------
705
706   overriding function Is_Template_Parameter
707    (Self : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy)
708       return Boolean is
709   begin
710      --  Generated stub: replace with real body!
711      pragma Compile_Time_Warning (Standard.True, "Is_Template_Parameter unimplemented");
712      raise Program_Error with "Unimplemented procedure UMLDI_UML_Use_Case_Diagram_Proxy.Is_Template_Parameter";
713      return Is_Template_Parameter (Self);
714   end Is_Template_Parameter;
715
716   -------------------
717   -- Enter_Element --
718   -------------------
719
720   overriding procedure Enter_Element
721    (Self    : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy;
722     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
723     Control : in out AMF.Visitors.Traverse_Control) is
724   begin
725      if Visitor in AMF.Visitors.UMLDI_Visitors.UMLDI_Visitor'Class then
726         AMF.Visitors.UMLDI_Visitors.UMLDI_Visitor'Class
727          (Visitor).Enter_UML_Use_Case_Diagram
728            (AMF.UMLDI.UML_Use_Case_Diagrams.UMLDI_UML_Use_Case_Diagram_Access (Self),
729           Control);
730      end if;
731   end Enter_Element;
732
733   -------------------
734   -- Leave_Element --
735   -------------------
736
737   overriding procedure Leave_Element
738    (Self    : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy;
739     Visitor : in out AMF.Visitors.Abstract_Visitor'Class;
740     Control : in out AMF.Visitors.Traverse_Control) is
741   begin
742      if Visitor in AMF.Visitors.UMLDI_Visitors.UMLDI_Visitor'Class then
743         AMF.Visitors.UMLDI_Visitors.UMLDI_Visitor'Class
744          (Visitor).Leave_UML_Use_Case_Diagram
745            (AMF.UMLDI.UML_Use_Case_Diagrams.UMLDI_UML_Use_Case_Diagram_Access (Self),
746           Control);
747      end if;
748   end Leave_Element;
749
750   -------------------
751   -- Visit_Element --
752   -------------------
753
754   overriding procedure Visit_Element
755    (Self     : not null access constant UMLDI_UML_Use_Case_Diagram_Proxy;
756     Iterator : in out AMF.Visitors.Abstract_Iterator'Class;
757     Visitor  : in out AMF.Visitors.Abstract_Visitor'Class;
758     Control  : in out AMF.Visitors.Traverse_Control) is
759   begin
760      if Iterator in AMF.Visitors.UMLDI_Iterators.UMLDI_Iterator'Class then
761         AMF.Visitors.UMLDI_Iterators.UMLDI_Iterator'Class
762          (Iterator).Visit_UML_Use_Case_Diagram
763            (Visitor,
764             AMF.UMLDI.UML_Use_Case_Diagrams.UMLDI_UML_Use_Case_Diagram_Access (Self),
765           Control);
766      end if;
767   end Visit_Element;
768
769end AMF.Internals.UMLDI_UML_Use_Case_Diagrams;
770