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