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