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_Communication_Paths is
54
55   -------------------
56   -- Enter_Element --
57   -------------------
58
59   overriding procedure Enter_Element
60    (Self    : not null access constant UML_Communication_Path_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_Communication_Path
67            (AMF.UML.Communication_Paths.UML_Communication_Path_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_Communication_Path_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_Communication_Path
84            (AMF.UML.Communication_Paths.UML_Communication_Path_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_Communication_Path_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_Communication_Path
102            (Visitor,
103             AMF.UML.Communication_Paths.UML_Communication_Path_Access (Self),
104             Control);
105      end if;
106   end Visit_Element;
107
108   ------------------
109   -- Get_End_Type --
110   ------------------
111
112   overriding function Get_End_Type
113    (Self : not null access constant UML_Communication_Path_Proxy)
114       return AMF.UML.Types.Collections.Ordered_Set_Of_UML_Type is
115   begin
116      return
117        AMF.UML.Types.Collections.Wrap
118         (AMF.Internals.Element_Collections.Wrap
119           (AMF.Internals.Tables.UML_Attributes.Internal_Get_End_Type
120             (Self.Element)));
121   end Get_End_Type;
122
123   --------------------
124   -- Get_Is_Derived --
125   --------------------
126
127   overriding function Get_Is_Derived
128    (Self : not null access constant UML_Communication_Path_Proxy)
129       return Boolean is
130   begin
131      return
132        AMF.Internals.Tables.UML_Attributes.Internal_Get_Is_Derived
133         (Self.Element);
134   end Get_Is_Derived;
135
136   --------------------
137   -- Set_Is_Derived --
138   --------------------
139
140   overriding procedure Set_Is_Derived
141    (Self : not null access UML_Communication_Path_Proxy;
142     To   : Boolean) is
143   begin
144      AMF.Internals.Tables.UML_Attributes.Internal_Set_Is_Derived
145       (Self.Element, To);
146   end Set_Is_Derived;
147
148   --------------------
149   -- Get_Member_End --
150   --------------------
151
152   overriding function Get_Member_End
153    (Self : not null access constant UML_Communication_Path_Proxy)
154       return AMF.UML.Properties.Collections.Ordered_Set_Of_UML_Property is
155   begin
156      return
157        AMF.UML.Properties.Collections.Wrap
158         (AMF.Internals.Element_Collections.Wrap
159           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Member_End
160             (Self.Element)));
161   end Get_Member_End;
162
163   -----------------------------
164   -- Get_Navigable_Owned_End --
165   -----------------------------
166
167   overriding function Get_Navigable_Owned_End
168    (Self : not null access constant UML_Communication_Path_Proxy)
169       return AMF.UML.Properties.Collections.Set_Of_UML_Property is
170   begin
171      return
172        AMF.UML.Properties.Collections.Wrap
173         (AMF.Internals.Element_Collections.Wrap
174           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Navigable_Owned_End
175             (Self.Element)));
176   end Get_Navigable_Owned_End;
177
178   -------------------
179   -- Get_Owned_End --
180   -------------------
181
182   overriding function Get_Owned_End
183    (Self : not null access constant UML_Communication_Path_Proxy)
184       return AMF.UML.Properties.Collections.Ordered_Set_Of_UML_Property is
185   begin
186      return
187        AMF.UML.Properties.Collections.Wrap
188         (AMF.Internals.Element_Collections.Wrap
189           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Owned_End
190             (Self.Element)));
191   end Get_Owned_End;
192
193   -------------------------
194   -- Get_Related_Element --
195   -------------------------
196
197   overriding function Get_Related_Element
198    (Self : not null access constant UML_Communication_Path_Proxy)
199       return AMF.UML.Elements.Collections.Set_Of_UML_Element is
200   begin
201      return
202        AMF.UML.Elements.Collections.Wrap
203         (AMF.Internals.Element_Collections.Wrap
204           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Related_Element
205             (Self.Element)));
206   end Get_Related_Element;
207
208   -------------------
209   -- Get_Attribute --
210   -------------------
211
212   overriding function Get_Attribute
213    (Self : not null access constant UML_Communication_Path_Proxy)
214       return AMF.UML.Properties.Collections.Set_Of_UML_Property is
215   begin
216      return
217        AMF.UML.Properties.Collections.Wrap
218         (AMF.Internals.Element_Collections.Wrap
219           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Attribute
220             (Self.Element)));
221   end Get_Attribute;
222
223   ---------------------------
224   -- Get_Collaboration_Use --
225   ---------------------------
226
227   overriding function Get_Collaboration_Use
228    (Self : not null access constant UML_Communication_Path_Proxy)
229       return AMF.UML.Collaboration_Uses.Collections.Set_Of_UML_Collaboration_Use is
230   begin
231      return
232        AMF.UML.Collaboration_Uses.Collections.Wrap
233         (AMF.Internals.Element_Collections.Wrap
234           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Collaboration_Use
235             (Self.Element)));
236   end Get_Collaboration_Use;
237
238   -----------------
239   -- Get_Feature --
240   -----------------
241
242   overriding function Get_Feature
243    (Self : not null access constant UML_Communication_Path_Proxy)
244       return AMF.UML.Features.Collections.Set_Of_UML_Feature is
245   begin
246      return
247        AMF.UML.Features.Collections.Wrap
248         (AMF.Internals.Element_Collections.Wrap
249           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Feature
250             (Self.Element)));
251   end Get_Feature;
252
253   -----------------
254   -- Get_General --
255   -----------------
256
257   overriding function Get_General
258    (Self : not null access constant UML_Communication_Path_Proxy)
259       return AMF.UML.Classifiers.Collections.Set_Of_UML_Classifier is
260   begin
261      return
262        AMF.UML.Classifiers.Collections.Wrap
263         (AMF.Internals.Element_Collections.Wrap
264           (AMF.Internals.Tables.UML_Attributes.Internal_Get_General
265             (Self.Element)));
266   end Get_General;
267
268   ------------------------
269   -- Get_Generalization --
270   ------------------------
271
272   overriding function Get_Generalization
273    (Self : not null access constant UML_Communication_Path_Proxy)
274       return AMF.UML.Generalizations.Collections.Set_Of_UML_Generalization is
275   begin
276      return
277        AMF.UML.Generalizations.Collections.Wrap
278         (AMF.Internals.Element_Collections.Wrap
279           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Generalization
280             (Self.Element)));
281   end Get_Generalization;
282
283   --------------------------
284   -- Get_Inherited_Member --
285   --------------------------
286
287   overriding function Get_Inherited_Member
288    (Self : not null access constant UML_Communication_Path_Proxy)
289       return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element is
290   begin
291      return
292        AMF.UML.Named_Elements.Collections.Wrap
293         (AMF.Internals.Element_Collections.Wrap
294           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Inherited_Member
295             (Self.Element)));
296   end Get_Inherited_Member;
297
298   ---------------------
299   -- Get_Is_Abstract --
300   ---------------------
301
302   overriding function Get_Is_Abstract
303    (Self : not null access constant UML_Communication_Path_Proxy)
304       return Boolean is
305   begin
306      return
307        AMF.Internals.Tables.UML_Attributes.Internal_Get_Is_Abstract
308         (Self.Element);
309   end Get_Is_Abstract;
310
311   ---------------------------------
312   -- Get_Is_Final_Specialization --
313   ---------------------------------
314
315   overriding function Get_Is_Final_Specialization
316    (Self : not null access constant UML_Communication_Path_Proxy)
317       return Boolean is
318   begin
319      return
320        AMF.Internals.Tables.UML_Attributes.Internal_Get_Is_Final_Specialization
321         (Self.Element);
322   end Get_Is_Final_Specialization;
323
324   ---------------------------------
325   -- Set_Is_Final_Specialization --
326   ---------------------------------
327
328   overriding procedure Set_Is_Final_Specialization
329    (Self : not null access UML_Communication_Path_Proxy;
330     To   : Boolean) is
331   begin
332      AMF.Internals.Tables.UML_Attributes.Internal_Set_Is_Final_Specialization
333       (Self.Element, To);
334   end Set_Is_Final_Specialization;
335
336   ----------------------------------
337   -- Get_Owned_Template_Signature --
338   ----------------------------------
339
340   overriding function Get_Owned_Template_Signature
341    (Self : not null access constant UML_Communication_Path_Proxy)
342       return AMF.UML.Redefinable_Template_Signatures.UML_Redefinable_Template_Signature_Access is
343   begin
344      return
345        AMF.UML.Redefinable_Template_Signatures.UML_Redefinable_Template_Signature_Access
346         (AMF.Internals.Helpers.To_Element
347           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Owned_Template_Signature
348             (Self.Element)));
349   end Get_Owned_Template_Signature;
350
351   ----------------------------------
352   -- Set_Owned_Template_Signature --
353   ----------------------------------
354
355   overriding procedure Set_Owned_Template_Signature
356    (Self : not null access UML_Communication_Path_Proxy;
357     To   : AMF.UML.Redefinable_Template_Signatures.UML_Redefinable_Template_Signature_Access) is
358   begin
359      AMF.Internals.Tables.UML_Attributes.Internal_Set_Owned_Template_Signature
360       (Self.Element,
361        AMF.Internals.Helpers.To_Element
362         (AMF.Elements.Element_Access (To)));
363   end Set_Owned_Template_Signature;
364
365   ------------------------
366   -- Get_Owned_Use_Case --
367   ------------------------
368
369   overriding function Get_Owned_Use_Case
370    (Self : not null access constant UML_Communication_Path_Proxy)
371       return AMF.UML.Use_Cases.Collections.Set_Of_UML_Use_Case is
372   begin
373      return
374        AMF.UML.Use_Cases.Collections.Wrap
375         (AMF.Internals.Element_Collections.Wrap
376           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Owned_Use_Case
377             (Self.Element)));
378   end Get_Owned_Use_Case;
379
380   --------------------------
381   -- Get_Powertype_Extent --
382   --------------------------
383
384   overriding function Get_Powertype_Extent
385    (Self : not null access constant UML_Communication_Path_Proxy)
386       return AMF.UML.Generalization_Sets.Collections.Set_Of_UML_Generalization_Set is
387   begin
388      return
389        AMF.UML.Generalization_Sets.Collections.Wrap
390         (AMF.Internals.Element_Collections.Wrap
391           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Powertype_Extent
392             (Self.Element)));
393   end Get_Powertype_Extent;
394
395   ------------------------------
396   -- Get_Redefined_Classifier --
397   ------------------------------
398
399   overriding function Get_Redefined_Classifier
400    (Self : not null access constant UML_Communication_Path_Proxy)
401       return AMF.UML.Classifiers.Collections.Set_Of_UML_Classifier is
402   begin
403      return
404        AMF.UML.Classifiers.Collections.Wrap
405         (AMF.Internals.Element_Collections.Wrap
406           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Redefined_Classifier
407             (Self.Element)));
408   end Get_Redefined_Classifier;
409
410   ------------------------
411   -- Get_Representation --
412   ------------------------
413
414   overriding function Get_Representation
415    (Self : not null access constant UML_Communication_Path_Proxy)
416       return AMF.UML.Collaboration_Uses.UML_Collaboration_Use_Access is
417   begin
418      return
419        AMF.UML.Collaboration_Uses.UML_Collaboration_Use_Access
420         (AMF.Internals.Helpers.To_Element
421           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Representation
422             (Self.Element)));
423   end Get_Representation;
424
425   ------------------------
426   -- Set_Representation --
427   ------------------------
428
429   overriding procedure Set_Representation
430    (Self : not null access UML_Communication_Path_Proxy;
431     To   : AMF.UML.Collaboration_Uses.UML_Collaboration_Use_Access) is
432   begin
433      AMF.Internals.Tables.UML_Attributes.Internal_Set_Representation
434       (Self.Element,
435        AMF.Internals.Helpers.To_Element
436         (AMF.Elements.Element_Access (To)));
437   end Set_Representation;
438
439   ----------------------
440   -- Get_Substitution --
441   ----------------------
442
443   overriding function Get_Substitution
444    (Self : not null access constant UML_Communication_Path_Proxy)
445       return AMF.UML.Substitutions.Collections.Set_Of_UML_Substitution is
446   begin
447      return
448        AMF.UML.Substitutions.Collections.Wrap
449         (AMF.Internals.Element_Collections.Wrap
450           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Substitution
451             (Self.Element)));
452   end Get_Substitution;
453
454   ----------------------------
455   -- Get_Template_Parameter --
456   ----------------------------
457
458   overriding function Get_Template_Parameter
459    (Self : not null access constant UML_Communication_Path_Proxy)
460       return AMF.UML.Classifier_Template_Parameters.UML_Classifier_Template_Parameter_Access is
461   begin
462      return
463        AMF.UML.Classifier_Template_Parameters.UML_Classifier_Template_Parameter_Access
464         (AMF.Internals.Helpers.To_Element
465           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Template_Parameter
466             (Self.Element)));
467   end Get_Template_Parameter;
468
469   ----------------------------
470   -- Set_Template_Parameter --
471   ----------------------------
472
473   overriding procedure Set_Template_Parameter
474    (Self : not null access UML_Communication_Path_Proxy;
475     To   : AMF.UML.Classifier_Template_Parameters.UML_Classifier_Template_Parameter_Access) is
476   begin
477      AMF.Internals.Tables.UML_Attributes.Internal_Set_Template_Parameter
478       (Self.Element,
479        AMF.Internals.Helpers.To_Element
480         (AMF.Elements.Element_Access (To)));
481   end Set_Template_Parameter;
482
483   ------------------
484   -- Get_Use_Case --
485   ------------------
486
487   overriding function Get_Use_Case
488    (Self : not null access constant UML_Communication_Path_Proxy)
489       return AMF.UML.Use_Cases.Collections.Set_Of_UML_Use_Case is
490   begin
491      return
492        AMF.UML.Use_Cases.Collections.Wrap
493         (AMF.Internals.Element_Collections.Wrap
494           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Use_Case
495             (Self.Element)));
496   end Get_Use_Case;
497
498   ------------------------
499   -- Get_Element_Import --
500   ------------------------
501
502   overriding function Get_Element_Import
503    (Self : not null access constant UML_Communication_Path_Proxy)
504       return AMF.UML.Element_Imports.Collections.Set_Of_UML_Element_Import is
505   begin
506      return
507        AMF.UML.Element_Imports.Collections.Wrap
508         (AMF.Internals.Element_Collections.Wrap
509           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Element_Import
510             (Self.Element)));
511   end Get_Element_Import;
512
513   -------------------------
514   -- Get_Imported_Member --
515   -------------------------
516
517   overriding function Get_Imported_Member
518    (Self : not null access constant UML_Communication_Path_Proxy)
519       return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element is
520   begin
521      return
522        AMF.UML.Packageable_Elements.Collections.Wrap
523         (AMF.Internals.Element_Collections.Wrap
524           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Imported_Member
525             (Self.Element)));
526   end Get_Imported_Member;
527
528   ----------------
529   -- Get_Member --
530   ----------------
531
532   overriding function Get_Member
533    (Self : not null access constant UML_Communication_Path_Proxy)
534       return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element is
535   begin
536      return
537        AMF.UML.Named_Elements.Collections.Wrap
538         (AMF.Internals.Element_Collections.Wrap
539           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Member
540             (Self.Element)));
541   end Get_Member;
542
543   ----------------------
544   -- Get_Owned_Member --
545   ----------------------
546
547   overriding function Get_Owned_Member
548    (Self : not null access constant UML_Communication_Path_Proxy)
549       return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element is
550   begin
551      return
552        AMF.UML.Named_Elements.Collections.Wrap
553         (AMF.Internals.Element_Collections.Wrap
554           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Owned_Member
555             (Self.Element)));
556   end Get_Owned_Member;
557
558   --------------------
559   -- Get_Owned_Rule --
560   --------------------
561
562   overriding function Get_Owned_Rule
563    (Self : not null access constant UML_Communication_Path_Proxy)
564       return AMF.UML.Constraints.Collections.Set_Of_UML_Constraint is
565   begin
566      return
567        AMF.UML.Constraints.Collections.Wrap
568         (AMF.Internals.Element_Collections.Wrap
569           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Owned_Rule
570             (Self.Element)));
571   end Get_Owned_Rule;
572
573   ------------------------
574   -- Get_Package_Import --
575   ------------------------
576
577   overriding function Get_Package_Import
578    (Self : not null access constant UML_Communication_Path_Proxy)
579       return AMF.UML.Package_Imports.Collections.Set_Of_UML_Package_Import is
580   begin
581      return
582        AMF.UML.Package_Imports.Collections.Wrap
583         (AMF.Internals.Element_Collections.Wrap
584           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Package_Import
585             (Self.Element)));
586   end Get_Package_Import;
587
588   ---------------------------
589   -- Get_Client_Dependency --
590   ---------------------------
591
592   overriding function Get_Client_Dependency
593    (Self : not null access constant UML_Communication_Path_Proxy)
594       return AMF.UML.Dependencies.Collections.Set_Of_UML_Dependency is
595   begin
596      return
597        AMF.UML.Dependencies.Collections.Wrap
598         (AMF.Internals.Element_Collections.Wrap
599           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Client_Dependency
600             (Self.Element)));
601   end Get_Client_Dependency;
602
603   -------------------------
604   -- Get_Name_Expression --
605   -------------------------
606
607   overriding function Get_Name_Expression
608    (Self : not null access constant UML_Communication_Path_Proxy)
609       return AMF.UML.String_Expressions.UML_String_Expression_Access is
610   begin
611      return
612        AMF.UML.String_Expressions.UML_String_Expression_Access
613         (AMF.Internals.Helpers.To_Element
614           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Name_Expression
615             (Self.Element)));
616   end Get_Name_Expression;
617
618   -------------------------
619   -- Set_Name_Expression --
620   -------------------------
621
622   overriding procedure Set_Name_Expression
623    (Self : not null access UML_Communication_Path_Proxy;
624     To   : AMF.UML.String_Expressions.UML_String_Expression_Access) is
625   begin
626      AMF.Internals.Tables.UML_Attributes.Internal_Set_Name_Expression
627       (Self.Element,
628        AMF.Internals.Helpers.To_Element
629         (AMF.Elements.Element_Access (To)));
630   end Set_Name_Expression;
631
632   -------------------
633   -- Get_Namespace --
634   -------------------
635
636   overriding function Get_Namespace
637    (Self : not null access constant UML_Communication_Path_Proxy)
638       return AMF.UML.Namespaces.UML_Namespace_Access is
639   begin
640      return
641        AMF.UML.Namespaces.UML_Namespace_Access
642         (AMF.Internals.Helpers.To_Element
643           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Namespace
644             (Self.Element)));
645   end Get_Namespace;
646
647   ------------------------
648   -- Get_Qualified_Name --
649   ------------------------
650
651   overriding function Get_Qualified_Name
652    (Self : not null access constant UML_Communication_Path_Proxy)
653       return AMF.Optional_String is
654   begin
655      declare
656         use type Matreshka.Internals.Strings.Shared_String_Access;
657
658         Aux : constant Matreshka.Internals.Strings.Shared_String_Access
659           := AMF.Internals.Tables.UML_Attributes.Internal_Get_Qualified_Name (Self.Element);
660
661      begin
662         if Aux = null then
663            return (Is_Empty => True);
664
665         else
666            return (False, League.Strings.Internals.Create (Aux));
667         end if;
668      end;
669   end Get_Qualified_Name;
670
671   -----------------
672   -- Get_Package --
673   -----------------
674
675   overriding function Get_Package
676    (Self : not null access constant UML_Communication_Path_Proxy)
677       return AMF.UML.Packages.UML_Package_Access is
678   begin
679      return
680        AMF.UML.Packages.UML_Package_Access
681         (AMF.Internals.Helpers.To_Element
682           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Package
683             (Self.Element)));
684   end Get_Package;
685
686   -----------------
687   -- Set_Package --
688   -----------------
689
690   overriding procedure Set_Package
691    (Self : not null access UML_Communication_Path_Proxy;
692     To   : AMF.UML.Packages.UML_Package_Access) is
693   begin
694      AMF.Internals.Tables.UML_Attributes.Internal_Set_Package
695       (Self.Element,
696        AMF.Internals.Helpers.To_Element
697         (AMF.Elements.Element_Access (To)));
698   end Set_Package;
699
700   -----------------------------------
701   -- Get_Owning_Template_Parameter --
702   -----------------------------------
703
704   overriding function Get_Owning_Template_Parameter
705    (Self : not null access constant UML_Communication_Path_Proxy)
706       return AMF.UML.Template_Parameters.UML_Template_Parameter_Access is
707   begin
708      return
709        AMF.UML.Template_Parameters.UML_Template_Parameter_Access
710         (AMF.Internals.Helpers.To_Element
711           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Owning_Template_Parameter
712             (Self.Element)));
713   end Get_Owning_Template_Parameter;
714
715   -----------------------------------
716   -- Set_Owning_Template_Parameter --
717   -----------------------------------
718
719   overriding procedure Set_Owning_Template_Parameter
720    (Self : not null access UML_Communication_Path_Proxy;
721     To   : AMF.UML.Template_Parameters.UML_Template_Parameter_Access) is
722   begin
723      AMF.Internals.Tables.UML_Attributes.Internal_Set_Owning_Template_Parameter
724       (Self.Element,
725        AMF.Internals.Helpers.To_Element
726         (AMF.Elements.Element_Access (To)));
727   end Set_Owning_Template_Parameter;
728
729   ----------------------------
730   -- Get_Template_Parameter --
731   ----------------------------
732
733   overriding function Get_Template_Parameter
734    (Self : not null access constant UML_Communication_Path_Proxy)
735       return AMF.UML.Template_Parameters.UML_Template_Parameter_Access is
736   begin
737      return
738        AMF.UML.Template_Parameters.UML_Template_Parameter_Access
739         (AMF.Internals.Helpers.To_Element
740           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Template_Parameter
741             (Self.Element)));
742   end Get_Template_Parameter;
743
744   ----------------------------
745   -- Set_Template_Parameter --
746   ----------------------------
747
748   overriding procedure Set_Template_Parameter
749    (Self : not null access UML_Communication_Path_Proxy;
750     To   : AMF.UML.Template_Parameters.UML_Template_Parameter_Access) is
751   begin
752      AMF.Internals.Tables.UML_Attributes.Internal_Set_Template_Parameter
753       (Self.Element,
754        AMF.Internals.Helpers.To_Element
755         (AMF.Elements.Element_Access (To)));
756   end Set_Template_Parameter;
757
758   ----------------------------------
759   -- Get_Owned_Template_Signature --
760   ----------------------------------
761
762   overriding function Get_Owned_Template_Signature
763    (Self : not null access constant UML_Communication_Path_Proxy)
764       return AMF.UML.Template_Signatures.UML_Template_Signature_Access is
765   begin
766      return
767        AMF.UML.Template_Signatures.UML_Template_Signature_Access
768         (AMF.Internals.Helpers.To_Element
769           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Owned_Template_Signature
770             (Self.Element)));
771   end Get_Owned_Template_Signature;
772
773   ----------------------------------
774   -- Set_Owned_Template_Signature --
775   ----------------------------------
776
777   overriding procedure Set_Owned_Template_Signature
778    (Self : not null access UML_Communication_Path_Proxy;
779     To   : AMF.UML.Template_Signatures.UML_Template_Signature_Access) is
780   begin
781      AMF.Internals.Tables.UML_Attributes.Internal_Set_Owned_Template_Signature
782       (Self.Element,
783        AMF.Internals.Helpers.To_Element
784         (AMF.Elements.Element_Access (To)));
785   end Set_Owned_Template_Signature;
786
787   --------------------------
788   -- Get_Template_Binding --
789   --------------------------
790
791   overriding function Get_Template_Binding
792    (Self : not null access constant UML_Communication_Path_Proxy)
793       return AMF.UML.Template_Bindings.Collections.Set_Of_UML_Template_Binding is
794   begin
795      return
796        AMF.UML.Template_Bindings.Collections.Wrap
797         (AMF.Internals.Element_Collections.Wrap
798           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Template_Binding
799             (Self.Element)));
800   end Get_Template_Binding;
801
802   -----------------
803   -- Get_Is_Leaf --
804   -----------------
805
806   overriding function Get_Is_Leaf
807    (Self : not null access constant UML_Communication_Path_Proxy)
808       return Boolean is
809   begin
810      return
811        AMF.Internals.Tables.UML_Attributes.Internal_Get_Is_Leaf
812         (Self.Element);
813   end Get_Is_Leaf;
814
815   -----------------
816   -- Set_Is_Leaf --
817   -----------------
818
819   overriding procedure Set_Is_Leaf
820    (Self : not null access UML_Communication_Path_Proxy;
821     To   : Boolean) is
822   begin
823      AMF.Internals.Tables.UML_Attributes.Internal_Set_Is_Leaf
824       (Self.Element, To);
825   end Set_Is_Leaf;
826
827   ---------------------------
828   -- Get_Redefined_Element --
829   ---------------------------
830
831   overriding function Get_Redefined_Element
832    (Self : not null access constant UML_Communication_Path_Proxy)
833       return AMF.UML.Redefinable_Elements.Collections.Set_Of_UML_Redefinable_Element is
834   begin
835      return
836        AMF.UML.Redefinable_Elements.Collections.Wrap
837         (AMF.Internals.Element_Collections.Wrap
838           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Redefined_Element
839             (Self.Element)));
840   end Get_Redefined_Element;
841
842   ------------------------------
843   -- Get_Redefinition_Context --
844   ------------------------------
845
846   overriding function Get_Redefinition_Context
847    (Self : not null access constant UML_Communication_Path_Proxy)
848       return AMF.UML.Classifiers.Collections.Set_Of_UML_Classifier is
849   begin
850      return
851        AMF.UML.Classifiers.Collections.Wrap
852         (AMF.Internals.Element_Collections.Wrap
853           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Redefinition_Context
854             (Self.Element)));
855   end Get_Redefinition_Context;
856
857   --------------
858   -- End_Type --
859   --------------
860
861   overriding function End_Type
862    (Self : not null access constant UML_Communication_Path_Proxy)
863       return AMF.UML.Types.Collections.Ordered_Set_Of_UML_Type is
864   begin
865      --  Generated stub: replace with real body!
866      pragma Compile_Time_Warning (Standard.True, "End_Type unimplemented");
867      raise Program_Error with "Unimplemented procedure UML_Communication_Path_Proxy.End_Type";
868      return End_Type (Self);
869   end End_Type;
870
871   ------------------
872   -- All_Features --
873   ------------------
874
875   overriding function All_Features
876    (Self : not null access constant UML_Communication_Path_Proxy)
877       return AMF.UML.Features.Collections.Set_Of_UML_Feature is
878   begin
879      --  Generated stub: replace with real body!
880      pragma Compile_Time_Warning (Standard.True, "All_Features unimplemented");
881      raise Program_Error with "Unimplemented procedure UML_Communication_Path_Proxy.All_Features";
882      return All_Features (Self);
883   end All_Features;
884
885   -----------------
886   -- Conforms_To --
887   -----------------
888
889   overriding function Conforms_To
890    (Self : not null access constant UML_Communication_Path_Proxy;
891     Other : AMF.UML.Classifiers.UML_Classifier_Access)
892       return Boolean is
893   begin
894      --  Generated stub: replace with real body!
895      pragma Compile_Time_Warning (Standard.True, "Conforms_To unimplemented");
896      raise Program_Error with "Unimplemented procedure UML_Communication_Path_Proxy.Conforms_To";
897      return Conforms_To (Self, Other);
898   end Conforms_To;
899
900   -------------
901   -- General --
902   -------------
903
904   overriding function General
905    (Self : not null access constant UML_Communication_Path_Proxy)
906       return AMF.UML.Classifiers.Collections.Set_Of_UML_Classifier is
907   begin
908      --  Generated stub: replace with real body!
909      pragma Compile_Time_Warning (Standard.True, "General unimplemented");
910      raise Program_Error with "Unimplemented procedure UML_Communication_Path_Proxy.General";
911      return General (Self);
912   end General;
913
914   -----------------------
915   -- Has_Visibility_Of --
916   -----------------------
917
918   overriding function Has_Visibility_Of
919    (Self : not null access constant UML_Communication_Path_Proxy;
920     N : AMF.UML.Named_Elements.UML_Named_Element_Access)
921       return Boolean is
922   begin
923      --  Generated stub: replace with real body!
924      pragma Compile_Time_Warning (Standard.True, "Has_Visibility_Of unimplemented");
925      raise Program_Error with "Unimplemented procedure UML_Communication_Path_Proxy.Has_Visibility_Of";
926      return Has_Visibility_Of (Self, N);
927   end Has_Visibility_Of;
928
929   -------------
930   -- Inherit --
931   -------------
932
933   overriding function Inherit
934    (Self : not null access constant UML_Communication_Path_Proxy;
935     Inhs : AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element)
936       return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element is
937   begin
938      --  Generated stub: replace with real body!
939      pragma Compile_Time_Warning (Standard.True, "Inherit unimplemented");
940      raise Program_Error with "Unimplemented procedure UML_Communication_Path_Proxy.Inherit";
941      return Inherit (Self, Inhs);
942   end Inherit;
943
944   -------------------------
945   -- Inheritable_Members --
946   -------------------------
947
948   overriding function Inheritable_Members
949    (Self : not null access constant UML_Communication_Path_Proxy;
950     C : AMF.UML.Classifiers.UML_Classifier_Access)
951       return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element is
952   begin
953      --  Generated stub: replace with real body!
954      pragma Compile_Time_Warning (Standard.True, "Inheritable_Members unimplemented");
955      raise Program_Error with "Unimplemented procedure UML_Communication_Path_Proxy.Inheritable_Members";
956      return Inheritable_Members (Self, C);
957   end Inheritable_Members;
958
959   ----------------------
960   -- Inherited_Member --
961   ----------------------
962
963   overriding function Inherited_Member
964    (Self : not null access constant UML_Communication_Path_Proxy)
965       return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element is
966   begin
967      --  Generated stub: replace with real body!
968      pragma Compile_Time_Warning (Standard.True, "Inherited_Member unimplemented");
969      raise Program_Error with "Unimplemented procedure UML_Communication_Path_Proxy.Inherited_Member";
970      return Inherited_Member (Self);
971   end Inherited_Member;
972
973   -----------------
974   -- Is_Template --
975   -----------------
976
977   overriding function Is_Template
978    (Self : not null access constant UML_Communication_Path_Proxy)
979       return Boolean is
980   begin
981      --  Generated stub: replace with real body!
982      pragma Compile_Time_Warning (Standard.True, "Is_Template unimplemented");
983      raise Program_Error with "Unimplemented procedure UML_Communication_Path_Proxy.Is_Template";
984      return Is_Template (Self);
985   end Is_Template;
986
987   -------------------------
988   -- May_Specialize_Type --
989   -------------------------
990
991   overriding function May_Specialize_Type
992    (Self : not null access constant UML_Communication_Path_Proxy;
993     C : AMF.UML.Classifiers.UML_Classifier_Access)
994       return Boolean is
995   begin
996      --  Generated stub: replace with real body!
997      pragma Compile_Time_Warning (Standard.True, "May_Specialize_Type unimplemented");
998      raise Program_Error with "Unimplemented procedure UML_Communication_Path_Proxy.May_Specialize_Type";
999      return May_Specialize_Type (Self, C);
1000   end May_Specialize_Type;
1001
1002   ------------------------
1003   -- Exclude_Collisions --
1004   ------------------------
1005
1006   overriding function Exclude_Collisions
1007    (Self : not null access constant UML_Communication_Path_Proxy;
1008     Imps : AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element)
1009       return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element is
1010   begin
1011      --  Generated stub: replace with real body!
1012      pragma Compile_Time_Warning (Standard.True, "Exclude_Collisions unimplemented");
1013      raise Program_Error with "Unimplemented procedure UML_Communication_Path_Proxy.Exclude_Collisions";
1014      return Exclude_Collisions (Self, Imps);
1015   end Exclude_Collisions;
1016
1017   -------------------------
1018   -- Get_Names_Of_Member --
1019   -------------------------
1020
1021   overriding function Get_Names_Of_Member
1022    (Self : not null access constant UML_Communication_Path_Proxy;
1023     Element : AMF.UML.Named_Elements.UML_Named_Element_Access)
1024       return AMF.String_Collections.Set_Of_String is
1025   begin
1026      --  Generated stub: replace with real body!
1027      pragma Compile_Time_Warning (Standard.True, "Get_Names_Of_Member unimplemented");
1028      raise Program_Error with "Unimplemented procedure UML_Communication_Path_Proxy.Get_Names_Of_Member";
1029      return Get_Names_Of_Member (Self, Element);
1030   end Get_Names_Of_Member;
1031
1032   --------------------
1033   -- Import_Members --
1034   --------------------
1035
1036   overriding function Import_Members
1037    (Self : not null access constant UML_Communication_Path_Proxy;
1038     Imps : AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element)
1039       return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element is
1040   begin
1041      --  Generated stub: replace with real body!
1042      pragma Compile_Time_Warning (Standard.True, "Import_Members unimplemented");
1043      raise Program_Error with "Unimplemented procedure UML_Communication_Path_Proxy.Import_Members";
1044      return Import_Members (Self, Imps);
1045   end Import_Members;
1046
1047   ---------------------
1048   -- Imported_Member --
1049   ---------------------
1050
1051   overriding function Imported_Member
1052    (Self : not null access constant UML_Communication_Path_Proxy)
1053       return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element is
1054   begin
1055      --  Generated stub: replace with real body!
1056      pragma Compile_Time_Warning (Standard.True, "Imported_Member unimplemented");
1057      raise Program_Error with "Unimplemented procedure UML_Communication_Path_Proxy.Imported_Member";
1058      return Imported_Member (Self);
1059   end Imported_Member;
1060
1061   ---------------------------------
1062   -- Members_Are_Distinguishable --
1063   ---------------------------------
1064
1065   overriding function Members_Are_Distinguishable
1066    (Self : not null access constant UML_Communication_Path_Proxy)
1067       return Boolean is
1068   begin
1069      --  Generated stub: replace with real body!
1070      pragma Compile_Time_Warning (Standard.True, "Members_Are_Distinguishable unimplemented");
1071      raise Program_Error with "Unimplemented procedure UML_Communication_Path_Proxy.Members_Are_Distinguishable";
1072      return Members_Are_Distinguishable (Self);
1073   end Members_Are_Distinguishable;
1074
1075   ------------------
1076   -- Owned_Member --
1077   ------------------
1078
1079   overriding function Owned_Member
1080    (Self : not null access constant UML_Communication_Path_Proxy)
1081       return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element is
1082   begin
1083      --  Generated stub: replace with real body!
1084      pragma Compile_Time_Warning (Standard.True, "Owned_Member unimplemented");
1085      raise Program_Error with "Unimplemented procedure UML_Communication_Path_Proxy.Owned_Member";
1086      return Owned_Member (Self);
1087   end Owned_Member;
1088
1089   -------------------------
1090   -- All_Owning_Packages --
1091   -------------------------
1092
1093   overriding function All_Owning_Packages
1094    (Self : not null access constant UML_Communication_Path_Proxy)
1095       return AMF.UML.Packages.Collections.Set_Of_UML_Package is
1096   begin
1097      --  Generated stub: replace with real body!
1098      pragma Compile_Time_Warning (Standard.True, "All_Owning_Packages unimplemented");
1099      raise Program_Error with "Unimplemented procedure UML_Communication_Path_Proxy.All_Owning_Packages";
1100      return All_Owning_Packages (Self);
1101   end All_Owning_Packages;
1102
1103   -----------------------------
1104   -- Is_Distinguishable_From --
1105   -----------------------------
1106
1107   overriding function Is_Distinguishable_From
1108    (Self : not null access constant UML_Communication_Path_Proxy;
1109     N : AMF.UML.Named_Elements.UML_Named_Element_Access;
1110     Ns : AMF.UML.Namespaces.UML_Namespace_Access)
1111       return Boolean is
1112   begin
1113      --  Generated stub: replace with real body!
1114      pragma Compile_Time_Warning (Standard.True, "Is_Distinguishable_From unimplemented");
1115      raise Program_Error with "Unimplemented procedure UML_Communication_Path_Proxy.Is_Distinguishable_From";
1116      return Is_Distinguishable_From (Self, N, Ns);
1117   end Is_Distinguishable_From;
1118
1119   ---------------
1120   -- Namespace --
1121   ---------------
1122
1123   overriding function Namespace
1124    (Self : not null access constant UML_Communication_Path_Proxy)
1125       return AMF.UML.Namespaces.UML_Namespace_Access is
1126   begin
1127      --  Generated stub: replace with real body!
1128      pragma Compile_Time_Warning (Standard.True, "Namespace unimplemented");
1129      raise Program_Error with "Unimplemented procedure UML_Communication_Path_Proxy.Namespace";
1130      return Namespace (Self);
1131   end Namespace;
1132
1133   -----------------
1134   -- Conforms_To --
1135   -----------------
1136
1137   overriding function Conforms_To
1138    (Self : not null access constant UML_Communication_Path_Proxy;
1139     Other : AMF.UML.Types.UML_Type_Access)
1140       return Boolean is
1141   begin
1142      --  Generated stub: replace with real body!
1143      pragma Compile_Time_Warning (Standard.True, "Conforms_To unimplemented");
1144      raise Program_Error with "Unimplemented procedure UML_Communication_Path_Proxy.Conforms_To";
1145      return Conforms_To (Self, Other);
1146   end Conforms_To;
1147
1148   ------------------------
1149   -- Is_Compatible_With --
1150   ------------------------
1151
1152   overriding function Is_Compatible_With
1153    (Self : not null access constant UML_Communication_Path_Proxy;
1154     P : AMF.UML.Parameterable_Elements.UML_Parameterable_Element_Access)
1155       return Boolean is
1156   begin
1157      --  Generated stub: replace with real body!
1158      pragma Compile_Time_Warning (Standard.True, "Is_Compatible_With unimplemented");
1159      raise Program_Error with "Unimplemented procedure UML_Communication_Path_Proxy.Is_Compatible_With";
1160      return Is_Compatible_With (Self, P);
1161   end Is_Compatible_With;
1162
1163   ---------------------------
1164   -- Is_Template_Parameter --
1165   ---------------------------
1166
1167   overriding function Is_Template_Parameter
1168    (Self : not null access constant UML_Communication_Path_Proxy)
1169       return Boolean is
1170   begin
1171      --  Generated stub: replace with real body!
1172      pragma Compile_Time_Warning (Standard.True, "Is_Template_Parameter unimplemented");
1173      raise Program_Error with "Unimplemented procedure UML_Communication_Path_Proxy.Is_Template_Parameter";
1174      return Is_Template_Parameter (Self);
1175   end Is_Template_Parameter;
1176
1177   ----------------------------
1178   -- Parameterable_Elements --
1179   ----------------------------
1180
1181   overriding function Parameterable_Elements
1182    (Self : not null access constant UML_Communication_Path_Proxy)
1183       return AMF.UML.Parameterable_Elements.Collections.Set_Of_UML_Parameterable_Element is
1184   begin
1185      --  Generated stub: replace with real body!
1186      pragma Compile_Time_Warning (Standard.True, "Parameterable_Elements unimplemented");
1187      raise Program_Error with "Unimplemented procedure UML_Communication_Path_Proxy.Parameterable_Elements";
1188      return Parameterable_Elements (Self);
1189   end Parameterable_Elements;
1190
1191   ------------------------
1192   -- Is_Consistent_With --
1193   ------------------------
1194
1195   overriding function Is_Consistent_With
1196    (Self : not null access constant UML_Communication_Path_Proxy;
1197     Redefinee : AMF.UML.Redefinable_Elements.UML_Redefinable_Element_Access)
1198       return Boolean is
1199   begin
1200      --  Generated stub: replace with real body!
1201      pragma Compile_Time_Warning (Standard.True, "Is_Consistent_With unimplemented");
1202      raise Program_Error with "Unimplemented procedure UML_Communication_Path_Proxy.Is_Consistent_With";
1203      return Is_Consistent_With (Self, Redefinee);
1204   end Is_Consistent_With;
1205
1206   -----------------------------------
1207   -- Is_Redefinition_Context_Valid --
1208   -----------------------------------
1209
1210   overriding function Is_Redefinition_Context_Valid
1211    (Self : not null access constant UML_Communication_Path_Proxy;
1212     Redefined : AMF.UML.Redefinable_Elements.UML_Redefinable_Element_Access)
1213       return Boolean is
1214   begin
1215      --  Generated stub: replace with real body!
1216      pragma Compile_Time_Warning (Standard.True, "Is_Redefinition_Context_Valid unimplemented");
1217      raise Program_Error with "Unimplemented procedure UML_Communication_Path_Proxy.Is_Redefinition_Context_Valid";
1218      return Is_Redefinition_Context_Valid (Self, Redefined);
1219   end Is_Redefinition_Context_Valid;
1220
1221end AMF.Internals.UML_Communication_Paths;
1222