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