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_Add_Structural_Feature_Value_Actions is
54
55   -------------------
56   -- Enter_Element --
57   -------------------
58
59   overriding procedure Enter_Element
60    (Self    : not null access constant UML_Add_Structural_Feature_Value_Action_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_Add_Structural_Feature_Value_Action
67            (AMF.UML.Add_Structural_Feature_Value_Actions.UML_Add_Structural_Feature_Value_Action_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_Add_Structural_Feature_Value_Action_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_Add_Structural_Feature_Value_Action
84            (AMF.UML.Add_Structural_Feature_Value_Actions.UML_Add_Structural_Feature_Value_Action_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_Add_Structural_Feature_Value_Action_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_Add_Structural_Feature_Value_Action
102            (Visitor,
103             AMF.UML.Add_Structural_Feature_Value_Actions.UML_Add_Structural_Feature_Value_Action_Access (Self),
104             Control);
105      end if;
106   end Visit_Element;
107
108   -------------------
109   -- Get_Insert_At --
110   -------------------
111
112   overriding function Get_Insert_At
113    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
114       return AMF.UML.Input_Pins.UML_Input_Pin_Access is
115   begin
116      return
117        AMF.UML.Input_Pins.UML_Input_Pin_Access
118         (AMF.Internals.Helpers.To_Element
119           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Insert_At
120             (Self.Element)));
121   end Get_Insert_At;
122
123   -------------------
124   -- Set_Insert_At --
125   -------------------
126
127   overriding procedure Set_Insert_At
128    (Self : not null access UML_Add_Structural_Feature_Value_Action_Proxy;
129     To   : AMF.UML.Input_Pins.UML_Input_Pin_Access) is
130   begin
131      AMF.Internals.Tables.UML_Attributes.Internal_Set_Insert_At
132       (Self.Element,
133        AMF.Internals.Helpers.To_Element
134         (AMF.Elements.Element_Access (To)));
135   end Set_Insert_At;
136
137   ------------------------
138   -- Get_Is_Replace_All --
139   ------------------------
140
141   overriding function Get_Is_Replace_All
142    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
143       return Boolean is
144   begin
145      return
146        AMF.Internals.Tables.UML_Attributes.Internal_Get_Is_Replace_All
147         (Self.Element);
148   end Get_Is_Replace_All;
149
150   ------------------------
151   -- Set_Is_Replace_All --
152   ------------------------
153
154   overriding procedure Set_Is_Replace_All
155    (Self : not null access UML_Add_Structural_Feature_Value_Action_Proxy;
156     To   : Boolean) is
157   begin
158      AMF.Internals.Tables.UML_Attributes.Internal_Set_Is_Replace_All
159       (Self.Element, To);
160   end Set_Is_Replace_All;
161
162   ----------------
163   -- Get_Result --
164   ----------------
165
166   overriding function Get_Result
167    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
168       return AMF.UML.Output_Pins.UML_Output_Pin_Access is
169   begin
170      return
171        AMF.UML.Output_Pins.UML_Output_Pin_Access
172         (AMF.Internals.Helpers.To_Element
173           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Result
174             (Self.Element)));
175   end Get_Result;
176
177   ----------------
178   -- Set_Result --
179   ----------------
180
181   overriding procedure Set_Result
182    (Self : not null access UML_Add_Structural_Feature_Value_Action_Proxy;
183     To   : AMF.UML.Output_Pins.UML_Output_Pin_Access) is
184   begin
185      AMF.Internals.Tables.UML_Attributes.Internal_Set_Result
186       (Self.Element,
187        AMF.Internals.Helpers.To_Element
188         (AMF.Elements.Element_Access (To)));
189   end Set_Result;
190
191   ---------------
192   -- Get_Value --
193   ---------------
194
195   overriding function Get_Value
196    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
197       return AMF.UML.Input_Pins.UML_Input_Pin_Access is
198   begin
199      return
200        AMF.UML.Input_Pins.UML_Input_Pin_Access
201         (AMF.Internals.Helpers.To_Element
202           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Value
203             (Self.Element)));
204   end Get_Value;
205
206   ---------------
207   -- Set_Value --
208   ---------------
209
210   overriding procedure Set_Value
211    (Self : not null access UML_Add_Structural_Feature_Value_Action_Proxy;
212     To   : AMF.UML.Input_Pins.UML_Input_Pin_Access) is
213   begin
214      AMF.Internals.Tables.UML_Attributes.Internal_Set_Value
215       (Self.Element,
216        AMF.Internals.Helpers.To_Element
217         (AMF.Elements.Element_Access (To)));
218   end Set_Value;
219
220   ----------------
221   -- Get_Object --
222   ----------------
223
224   overriding function Get_Object
225    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
226       return AMF.UML.Input_Pins.UML_Input_Pin_Access is
227   begin
228      return
229        AMF.UML.Input_Pins.UML_Input_Pin_Access
230         (AMF.Internals.Helpers.To_Element
231           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Object
232             (Self.Element)));
233   end Get_Object;
234
235   ----------------
236   -- Set_Object --
237   ----------------
238
239   overriding procedure Set_Object
240    (Self : not null access UML_Add_Structural_Feature_Value_Action_Proxy;
241     To   : AMF.UML.Input_Pins.UML_Input_Pin_Access) is
242   begin
243      AMF.Internals.Tables.UML_Attributes.Internal_Set_Object
244       (Self.Element,
245        AMF.Internals.Helpers.To_Element
246         (AMF.Elements.Element_Access (To)));
247   end Set_Object;
248
249   ----------------------------
250   -- Get_Structural_Feature --
251   ----------------------------
252
253   overriding function Get_Structural_Feature
254    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
255       return AMF.UML.Structural_Features.UML_Structural_Feature_Access is
256   begin
257      return
258        AMF.UML.Structural_Features.UML_Structural_Feature_Access
259         (AMF.Internals.Helpers.To_Element
260           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Structural_Feature
261             (Self.Element)));
262   end Get_Structural_Feature;
263
264   ----------------------------
265   -- Set_Structural_Feature --
266   ----------------------------
267
268   overriding procedure Set_Structural_Feature
269    (Self : not null access UML_Add_Structural_Feature_Value_Action_Proxy;
270     To   : AMF.UML.Structural_Features.UML_Structural_Feature_Access) is
271   begin
272      AMF.Internals.Tables.UML_Attributes.Internal_Set_Structural_Feature
273       (Self.Element,
274        AMF.Internals.Helpers.To_Element
275         (AMF.Elements.Element_Access (To)));
276   end Set_Structural_Feature;
277
278   -----------------
279   -- Get_Context --
280   -----------------
281
282   overriding function Get_Context
283    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
284       return AMF.UML.Classifiers.UML_Classifier_Access is
285   begin
286      return
287        AMF.UML.Classifiers.UML_Classifier_Access
288         (AMF.Internals.Helpers.To_Element
289           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Context
290             (Self.Element)));
291   end Get_Context;
292
293   ---------------
294   -- Get_Input --
295   ---------------
296
297   overriding function Get_Input
298    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
299       return AMF.UML.Input_Pins.Collections.Ordered_Set_Of_UML_Input_Pin is
300   begin
301      return
302        AMF.UML.Input_Pins.Collections.Wrap
303         (AMF.Internals.Element_Collections.Wrap
304           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Input
305             (Self.Element)));
306   end Get_Input;
307
308   ------------------------------
309   -- Get_Is_Locally_Reentrant --
310   ------------------------------
311
312   overriding function Get_Is_Locally_Reentrant
313    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
314       return Boolean is
315   begin
316      return
317        AMF.Internals.Tables.UML_Attributes.Internal_Get_Is_Locally_Reentrant
318         (Self.Element);
319   end Get_Is_Locally_Reentrant;
320
321   ------------------------------
322   -- Set_Is_Locally_Reentrant --
323   ------------------------------
324
325   overriding procedure Set_Is_Locally_Reentrant
326    (Self : not null access UML_Add_Structural_Feature_Value_Action_Proxy;
327     To   : Boolean) is
328   begin
329      AMF.Internals.Tables.UML_Attributes.Internal_Set_Is_Locally_Reentrant
330       (Self.Element, To);
331   end Set_Is_Locally_Reentrant;
332
333   -----------------------------
334   -- Get_Local_Postcondition --
335   -----------------------------
336
337   overriding function Get_Local_Postcondition
338    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
339       return AMF.UML.Constraints.Collections.Set_Of_UML_Constraint is
340   begin
341      return
342        AMF.UML.Constraints.Collections.Wrap
343         (AMF.Internals.Element_Collections.Wrap
344           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Local_Postcondition
345             (Self.Element)));
346   end Get_Local_Postcondition;
347
348   ----------------------------
349   -- Get_Local_Precondition --
350   ----------------------------
351
352   overriding function Get_Local_Precondition
353    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
354       return AMF.UML.Constraints.Collections.Set_Of_UML_Constraint is
355   begin
356      return
357        AMF.UML.Constraints.Collections.Wrap
358         (AMF.Internals.Element_Collections.Wrap
359           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Local_Precondition
360             (Self.Element)));
361   end Get_Local_Precondition;
362
363   ----------------
364   -- Get_Output --
365   ----------------
366
367   overriding function Get_Output
368    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
369       return AMF.UML.Output_Pins.Collections.Ordered_Set_Of_UML_Output_Pin is
370   begin
371      return
372        AMF.UML.Output_Pins.Collections.Wrap
373         (AMF.Internals.Element_Collections.Wrap
374           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Output
375             (Self.Element)));
376   end Get_Output;
377
378   -----------------
379   -- Get_Handler --
380   -----------------
381
382   overriding function Get_Handler
383    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
384       return AMF.UML.Exception_Handlers.Collections.Set_Of_UML_Exception_Handler is
385   begin
386      return
387        AMF.UML.Exception_Handlers.Collections.Wrap
388         (AMF.Internals.Element_Collections.Wrap
389           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Handler
390             (Self.Element)));
391   end Get_Handler;
392
393   ------------------
394   -- Get_Activity --
395   ------------------
396
397   overriding function Get_Activity
398    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
399       return AMF.UML.Activities.UML_Activity_Access is
400   begin
401      return
402        AMF.UML.Activities.UML_Activity_Access
403         (AMF.Internals.Helpers.To_Element
404           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Activity
405             (Self.Element)));
406   end Get_Activity;
407
408   ------------------
409   -- Set_Activity --
410   ------------------
411
412   overriding procedure Set_Activity
413    (Self : not null access UML_Add_Structural_Feature_Value_Action_Proxy;
414     To   : AMF.UML.Activities.UML_Activity_Access) is
415   begin
416      AMF.Internals.Tables.UML_Attributes.Internal_Set_Activity
417       (Self.Element,
418        AMF.Internals.Helpers.To_Element
419         (AMF.Elements.Element_Access (To)));
420   end Set_Activity;
421
422   ------------------
423   -- Get_In_Group --
424   ------------------
425
426   overriding function Get_In_Group
427    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
428       return AMF.UML.Activity_Groups.Collections.Set_Of_UML_Activity_Group is
429   begin
430      return
431        AMF.UML.Activity_Groups.Collections.Wrap
432         (AMF.Internals.Element_Collections.Wrap
433           (AMF.Internals.Tables.UML_Attributes.Internal_Get_In_Group
434             (Self.Element)));
435   end Get_In_Group;
436
437   ---------------------------------
438   -- Get_In_Interruptible_Region --
439   ---------------------------------
440
441   overriding function Get_In_Interruptible_Region
442    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
443       return AMF.UML.Interruptible_Activity_Regions.Collections.Set_Of_UML_Interruptible_Activity_Region is
444   begin
445      return
446        AMF.UML.Interruptible_Activity_Regions.Collections.Wrap
447         (AMF.Internals.Element_Collections.Wrap
448           (AMF.Internals.Tables.UML_Attributes.Internal_Get_In_Interruptible_Region
449             (Self.Element)));
450   end Get_In_Interruptible_Region;
451
452   ----------------------
453   -- Get_In_Partition --
454   ----------------------
455
456   overriding function Get_In_Partition
457    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
458       return AMF.UML.Activity_Partitions.Collections.Set_Of_UML_Activity_Partition is
459   begin
460      return
461        AMF.UML.Activity_Partitions.Collections.Wrap
462         (AMF.Internals.Element_Collections.Wrap
463           (AMF.Internals.Tables.UML_Attributes.Internal_Get_In_Partition
464             (Self.Element)));
465   end Get_In_Partition;
466
467   ----------------------------
468   -- Get_In_Structured_Node --
469   ----------------------------
470
471   overriding function Get_In_Structured_Node
472    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
473       return AMF.UML.Structured_Activity_Nodes.UML_Structured_Activity_Node_Access is
474   begin
475      return
476        AMF.UML.Structured_Activity_Nodes.UML_Structured_Activity_Node_Access
477         (AMF.Internals.Helpers.To_Element
478           (AMF.Internals.Tables.UML_Attributes.Internal_Get_In_Structured_Node
479             (Self.Element)));
480   end Get_In_Structured_Node;
481
482   ----------------------------
483   -- Set_In_Structured_Node --
484   ----------------------------
485
486   overriding procedure Set_In_Structured_Node
487    (Self : not null access UML_Add_Structural_Feature_Value_Action_Proxy;
488     To   : AMF.UML.Structured_Activity_Nodes.UML_Structured_Activity_Node_Access) is
489   begin
490      AMF.Internals.Tables.UML_Attributes.Internal_Set_In_Structured_Node
491       (Self.Element,
492        AMF.Internals.Helpers.To_Element
493         (AMF.Elements.Element_Access (To)));
494   end Set_In_Structured_Node;
495
496   ------------------
497   -- Get_Incoming --
498   ------------------
499
500   overriding function Get_Incoming
501    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
502       return AMF.UML.Activity_Edges.Collections.Set_Of_UML_Activity_Edge is
503   begin
504      return
505        AMF.UML.Activity_Edges.Collections.Wrap
506         (AMF.Internals.Element_Collections.Wrap
507           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Incoming
508             (Self.Element)));
509   end Get_Incoming;
510
511   ------------------
512   -- Get_Outgoing --
513   ------------------
514
515   overriding function Get_Outgoing
516    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
517       return AMF.UML.Activity_Edges.Collections.Set_Of_UML_Activity_Edge is
518   begin
519      return
520        AMF.UML.Activity_Edges.Collections.Wrap
521         (AMF.Internals.Element_Collections.Wrap
522           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Outgoing
523             (Self.Element)));
524   end Get_Outgoing;
525
526   ------------------------
527   -- Get_Redefined_Node --
528   ------------------------
529
530   overriding function Get_Redefined_Node
531    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
532       return AMF.UML.Activity_Nodes.Collections.Set_Of_UML_Activity_Node is
533   begin
534      return
535        AMF.UML.Activity_Nodes.Collections.Wrap
536         (AMF.Internals.Element_Collections.Wrap
537           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Redefined_Node
538             (Self.Element)));
539   end Get_Redefined_Node;
540
541   -----------------
542   -- Get_Is_Leaf --
543   -----------------
544
545   overriding function Get_Is_Leaf
546    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
547       return Boolean is
548   begin
549      return
550        AMF.Internals.Tables.UML_Attributes.Internal_Get_Is_Leaf
551         (Self.Element);
552   end Get_Is_Leaf;
553
554   -----------------
555   -- Set_Is_Leaf --
556   -----------------
557
558   overriding procedure Set_Is_Leaf
559    (Self : not null access UML_Add_Structural_Feature_Value_Action_Proxy;
560     To   : Boolean) is
561   begin
562      AMF.Internals.Tables.UML_Attributes.Internal_Set_Is_Leaf
563       (Self.Element, To);
564   end Set_Is_Leaf;
565
566   ---------------------------
567   -- Get_Redefined_Element --
568   ---------------------------
569
570   overriding function Get_Redefined_Element
571    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
572       return AMF.UML.Redefinable_Elements.Collections.Set_Of_UML_Redefinable_Element is
573   begin
574      return
575        AMF.UML.Redefinable_Elements.Collections.Wrap
576         (AMF.Internals.Element_Collections.Wrap
577           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Redefined_Element
578             (Self.Element)));
579   end Get_Redefined_Element;
580
581   ------------------------------
582   -- Get_Redefinition_Context --
583   ------------------------------
584
585   overriding function Get_Redefinition_Context
586    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
587       return AMF.UML.Classifiers.Collections.Set_Of_UML_Classifier is
588   begin
589      return
590        AMF.UML.Classifiers.Collections.Wrap
591         (AMF.Internals.Element_Collections.Wrap
592           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Redefinition_Context
593             (Self.Element)));
594   end Get_Redefinition_Context;
595
596   ---------------------------
597   -- Get_Client_Dependency --
598   ---------------------------
599
600   overriding function Get_Client_Dependency
601    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
602       return AMF.UML.Dependencies.Collections.Set_Of_UML_Dependency is
603   begin
604      return
605        AMF.UML.Dependencies.Collections.Wrap
606         (AMF.Internals.Element_Collections.Wrap
607           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Client_Dependency
608             (Self.Element)));
609   end Get_Client_Dependency;
610
611   -------------------------
612   -- Get_Name_Expression --
613   -------------------------
614
615   overriding function Get_Name_Expression
616    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
617       return AMF.UML.String_Expressions.UML_String_Expression_Access is
618   begin
619      return
620        AMF.UML.String_Expressions.UML_String_Expression_Access
621         (AMF.Internals.Helpers.To_Element
622           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Name_Expression
623             (Self.Element)));
624   end Get_Name_Expression;
625
626   -------------------------
627   -- Set_Name_Expression --
628   -------------------------
629
630   overriding procedure Set_Name_Expression
631    (Self : not null access UML_Add_Structural_Feature_Value_Action_Proxy;
632     To   : AMF.UML.String_Expressions.UML_String_Expression_Access) is
633   begin
634      AMF.Internals.Tables.UML_Attributes.Internal_Set_Name_Expression
635       (Self.Element,
636        AMF.Internals.Helpers.To_Element
637         (AMF.Elements.Element_Access (To)));
638   end Set_Name_Expression;
639
640   -------------------
641   -- Get_Namespace --
642   -------------------
643
644   overriding function Get_Namespace
645    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
646       return AMF.UML.Namespaces.UML_Namespace_Access is
647   begin
648      return
649        AMF.UML.Namespaces.UML_Namespace_Access
650         (AMF.Internals.Helpers.To_Element
651           (AMF.Internals.Tables.UML_Attributes.Internal_Get_Namespace
652             (Self.Element)));
653   end Get_Namespace;
654
655   ------------------------
656   -- Get_Qualified_Name --
657   ------------------------
658
659   overriding function Get_Qualified_Name
660    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
661       return AMF.Optional_String is
662   begin
663      declare
664         use type Matreshka.Internals.Strings.Shared_String_Access;
665
666         Aux : constant Matreshka.Internals.Strings.Shared_String_Access
667           := AMF.Internals.Tables.UML_Attributes.Internal_Get_Qualified_Name (Self.Element);
668
669      begin
670         if Aux = null then
671            return (Is_Empty => True);
672
673         else
674            return (False, League.Strings.Internals.Create (Aux));
675         end if;
676      end;
677   end Get_Qualified_Name;
678
679   -------------
680   -- Context --
681   -------------
682
683   overriding function Context
684    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
685       return AMF.UML.Classifiers.UML_Classifier_Access is
686   begin
687      --  Generated stub: replace with real body!
688      pragma Compile_Time_Warning (Standard.True, "Context unimplemented");
689      raise Program_Error with "Unimplemented procedure UML_Add_Structural_Feature_Value_Action_Proxy.Context";
690      return Context (Self);
691   end Context;
692
693   ------------------------
694   -- Is_Consistent_With --
695   ------------------------
696
697   overriding function Is_Consistent_With
698    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy;
699     Redefinee : AMF.UML.Redefinable_Elements.UML_Redefinable_Element_Access)
700       return Boolean is
701   begin
702      --  Generated stub: replace with real body!
703      pragma Compile_Time_Warning (Standard.True, "Is_Consistent_With unimplemented");
704      raise Program_Error with "Unimplemented procedure UML_Add_Structural_Feature_Value_Action_Proxy.Is_Consistent_With";
705      return Is_Consistent_With (Self, Redefinee);
706   end Is_Consistent_With;
707
708   -----------------------------------
709   -- Is_Redefinition_Context_Valid --
710   -----------------------------------
711
712   overriding function Is_Redefinition_Context_Valid
713    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy;
714     Redefined : AMF.UML.Redefinable_Elements.UML_Redefinable_Element_Access)
715       return Boolean is
716   begin
717      --  Generated stub: replace with real body!
718      pragma Compile_Time_Warning (Standard.True, "Is_Redefinition_Context_Valid unimplemented");
719      raise Program_Error with "Unimplemented procedure UML_Add_Structural_Feature_Value_Action_Proxy.Is_Redefinition_Context_Valid";
720      return Is_Redefinition_Context_Valid (Self, Redefined);
721   end Is_Redefinition_Context_Valid;
722
723   -------------------------
724   -- All_Owning_Packages --
725   -------------------------
726
727   overriding function All_Owning_Packages
728    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
729       return AMF.UML.Packages.Collections.Set_Of_UML_Package is
730   begin
731      --  Generated stub: replace with real body!
732      pragma Compile_Time_Warning (Standard.True, "All_Owning_Packages unimplemented");
733      raise Program_Error with "Unimplemented procedure UML_Add_Structural_Feature_Value_Action_Proxy.All_Owning_Packages";
734      return All_Owning_Packages (Self);
735   end All_Owning_Packages;
736
737   -----------------------------
738   -- Is_Distinguishable_From --
739   -----------------------------
740
741   overriding function Is_Distinguishable_From
742    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy;
743     N : AMF.UML.Named_Elements.UML_Named_Element_Access;
744     Ns : AMF.UML.Namespaces.UML_Namespace_Access)
745       return Boolean is
746   begin
747      --  Generated stub: replace with real body!
748      pragma Compile_Time_Warning (Standard.True, "Is_Distinguishable_From unimplemented");
749      raise Program_Error with "Unimplemented procedure UML_Add_Structural_Feature_Value_Action_Proxy.Is_Distinguishable_From";
750      return Is_Distinguishable_From (Self, N, Ns);
751   end Is_Distinguishable_From;
752
753   ---------------
754   -- Namespace --
755   ---------------
756
757   overriding function Namespace
758    (Self : not null access constant UML_Add_Structural_Feature_Value_Action_Proxy)
759       return AMF.UML.Namespaces.UML_Namespace_Access is
760   begin
761      --  Generated stub: replace with real body!
762      pragma Compile_Time_Warning (Standard.True, "Namespace unimplemented");
763      raise Program_Error with "Unimplemented procedure UML_Add_Structural_Feature_Value_Action_Proxy.Namespace";
764      return Namespace (Self);
765   end Namespace;
766
767end AMF.Internals.UML_Add_Structural_Feature_Value_Actions;
768