1------------------------------------------------------------------------------
2--                                                                          --
3--                            Matreshka Project                             --
4--                                                                          --
5--                          Ada Modeling Framework                          --
6--                                                                          --
7--                        Runtime Library Component                         --
8--                                                                          --
9------------------------------------------------------------------------------
10--                                                                          --
11-- Copyright © 2012, Vadim Godunko <vgodunko@gmail.com>                     --
12-- All rights reserved.                                                     --
13--                                                                          --
14-- Redistribution and use in source and binary forms, with or without       --
15-- modification, are permitted provided that the following conditions       --
16-- are met:                                                                 --
17--                                                                          --
18--  * Redistributions of source code must retain the above copyright        --
19--    notice, this list of conditions and the following disclaimer.         --
20--                                                                          --
21--  * Redistributions in binary form must reproduce the above copyright     --
22--    notice, this list of conditions and the following disclaimer in the   --
23--    documentation and/or other materials provided with the distribution.  --
24--                                                                          --
25--  * Neither the name of the Vadim Godunko, IE nor the names of its        --
26--    contributors may be used to endorse or promote products derived from  --
27--    this software without specific prior written permission.              --
28--                                                                          --
29-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS      --
30-- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT        --
31-- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR    --
32-- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT     --
33-- HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,   --
34-- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED --
35-- TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR   --
36-- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF   --
37-- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING     --
38-- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS       --
39-- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.             --
40--                                                                          --
41------------------------------------------------------------------------------
42--  $Revision: 3397 $ $Date: 2012-11-13 07:02:02 +0400 (Tue, 13 Nov 2012) $
43------------------------------------------------------------------------------
44--  This file is generated, don't edit it.
45------------------------------------------------------------------------------
46with AMF.Internals.Elements;
47with AMF.Internals.Extents;
48with AMF.Internals.Helpers;
49with AMF.Internals.Links;
50with AMF.Internals.Listener_Registry;
51with AMF.Internals.Tables.UMLDI_Metamodel;
52with AMF.Internals.Tables.UML_Constructors;
53with AMF.UMLDI.Holders.UML_Association_Or_Connector_Or_Link_Shape_Kinds;
54with AMF.UMLDI.Holders.UML_Inherited_State_Border_Kinds;
55with AMF.UMLDI.Holders.UML_Interaction_Diagram_Kinds;
56with AMF.UMLDI.Holders.UML_Interaction_Table_Label_Kinds;
57with AMF.UMLDI.Holders.UML_Navigability_Notation_Kinds;
58
59package body AMF.Internals.Factories.UMLDI_Factories is
60
61   Diamond_Img : constant League.Strings.Universal_String
62     := League.Strings.To_Universal_String ("diamond");
63   Triangle_Img : constant League.Strings.Universal_String
64     := League.Strings.To_Universal_String ("triangle");
65
66   Dashed_Img : constant League.Strings.Universal_String
67     := League.Strings.To_Universal_String ("dashed");
68   Gray_Img : constant League.Strings.Universal_String
69     := League.Strings.To_Universal_String ("gray");
70
71   Communication_Img : constant League.Strings.Universal_String
72     := League.Strings.To_Universal_String ("communication");
73   Overview_Img : constant League.Strings.Universal_String
74     := League.Strings.To_Universal_String ("overview");
75   Sequence_Img : constant League.Strings.Universal_String
76     := League.Strings.To_Universal_String ("sequence");
77   Table_Img : constant League.Strings.Universal_String
78     := League.Strings.To_Universal_String ("table");
79   Timing_Img : constant League.Strings.Universal_String
80     := League.Strings.To_Universal_String ("timing");
81
82   Constraint_Img : constant League.Strings.Universal_String
83     := League.Strings.To_Universal_String ("constraint");
84   Diagram_Identifier_Img : constant League.Strings.Universal_String
85     := League.Strings.To_Universal_String ("diagramIdentifier");
86   Generated_Instance_Name_Img : constant League.Strings.Universal_String
87     := League.Strings.To_Universal_String ("generatedInstanceName");
88   Lifeline_Class_Img : constant League.Strings.Universal_String
89     := League.Strings.To_Universal_String ("lifelineClass");
90   Lifeline_Instance_Img : constant League.Strings.Universal_String
91     := League.Strings.To_Universal_String ("lifelineInstance");
92   Message_Name_Img : constant League.Strings.Universal_String
93     := League.Strings.To_Universal_String ("messageName");
94   Message_Receiving_Class_Img : constant League.Strings.Universal_String
95     := League.Strings.To_Universal_String ("messageReceivingClass");
96   Message_Receiving_Instance_Img : constant League.Strings.Universal_String
97     := League.Strings.To_Universal_String ("messageReceivingInstance");
98   Message_Sending_Class_Img : constant League.Strings.Universal_String
99     := League.Strings.To_Universal_String ("messageSendingClass");
100   Message_Sending_Instance_Img : constant League.Strings.Universal_String
101     := League.Strings.To_Universal_String ("messageSendingInstance");
102   Other_End_Img : constant League.Strings.Universal_String
103     := League.Strings.To_Universal_String ("otherEnd");
104   Parameter_Img : constant League.Strings.Universal_String
105     := League.Strings.To_Universal_String ("parameter");
106   Return_Value_Img : constant League.Strings.Universal_String
107     := League.Strings.To_Universal_String ("returnValue");
108   Sequence_Number_Img : constant League.Strings.Universal_String
109     := League.Strings.To_Universal_String ("sequenceNumber");
110   Weak_Order_Img : constant League.Strings.Universal_String
111     := League.Strings.To_Universal_String ("weakOrder");
112
113   Always_Img : constant League.Strings.Universal_String
114     := League.Strings.To_Universal_String ("always");
115   Never_Img : constant League.Strings.Universal_String
116     := League.Strings.To_Universal_String ("never");
117   One_Way_Img : constant League.Strings.Universal_String
118     := League.Strings.To_Universal_String ("oneWay");
119
120   -----------------
121   -- Constructor --
122   -----------------
123
124   function Constructor
125    (Extent : AMF.Internals.AMF_Extent)
126       return not null AMF.Factories.Factory_Access is
127   begin
128      return new UMLDI_Factory'(Extent => Extent);
129   end Constructor;
130
131   -----------------------
132   -- Convert_To_String --
133   -----------------------
134
135   overriding function Convert_To_String
136    (Self      : not null access UMLDI_Factory;
137     Data_Type : not null access AMF.CMOF.Data_Types.CMOF_Data_Type'Class;
138     Value     : League.Holders.Holder) return League.Strings.Universal_String
139   is
140      pragma Unreferenced (Self);
141
142      DT : constant AMF.Internals.CMOF_Element
143        := AMF.Internals.Elements.Element_Base'Class (Data_Type.all).Element;
144
145   begin
146      if DT = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Association_Or_Connector_Or_Link_Shape_Kind then
147         declare
148            Item : constant AMF.UMLDI.UMLDI_UML_Association_Or_Connector_Or_Link_Shape_Kind
149              := AMF.UMLDI.Holders.UML_Association_Or_Connector_Or_Link_Shape_Kinds.Element (Value);
150
151         begin
152            case Item is
153               when AMF.UMLDI.Diamond =>
154                  return Diamond_Img;
155
156               when AMF.UMLDI.Triangle =>
157                  return Triangle_Img;
158            end case;
159         end;
160
161      elsif DT = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Inherited_State_Border_Kind then
162         declare
163            Item : constant AMF.UMLDI.UMLDI_UML_Inherited_State_Border_Kind
164              := AMF.UMLDI.Holders.UML_Inherited_State_Border_Kinds.Element (Value);
165
166         begin
167            case Item is
168               when AMF.UMLDI.Dashed =>
169                  return Dashed_Img;
170
171               when AMF.UMLDI.Gray =>
172                  return Gray_Img;
173            end case;
174         end;
175
176      elsif DT = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Interaction_Diagram_Kind then
177         declare
178            Item : constant AMF.UMLDI.UMLDI_UML_Interaction_Diagram_Kind
179              := AMF.UMLDI.Holders.UML_Interaction_Diagram_Kinds.Element (Value);
180
181         begin
182            case Item is
183               when AMF.UMLDI.Communication =>
184                  return Communication_Img;
185
186               when AMF.UMLDI.Overview =>
187                  return Overview_Img;
188
189               when AMF.UMLDI.Sequence =>
190                  return Sequence_Img;
191
192               when AMF.UMLDI.Table =>
193                  return Table_Img;
194
195               when AMF.UMLDI.Timing =>
196                  return Timing_Img;
197            end case;
198         end;
199
200      elsif DT = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Interaction_Table_Label_Kind then
201         declare
202            Item : constant AMF.UMLDI.UMLDI_UML_Interaction_Table_Label_Kind
203              := AMF.UMLDI.Holders.UML_Interaction_Table_Label_Kinds.Element (Value);
204
205         begin
206            case Item is
207               when AMF.UMLDI.Constraint =>
208                  return Constraint_Img;
209
210               when AMF.UMLDI.Diagram_Identifier =>
211                  return Diagram_Identifier_Img;
212
213               when AMF.UMLDI.Generated_Instance_Name =>
214                  return Generated_Instance_Name_Img;
215
216               when AMF.UMLDI.Lifeline_Class =>
217                  return Lifeline_Class_Img;
218
219               when AMF.UMLDI.Lifeline_Instance =>
220                  return Lifeline_Instance_Img;
221
222               when AMF.UMLDI.Message_Name =>
223                  return Message_Name_Img;
224
225               when AMF.UMLDI.Message_Receiving_Class =>
226                  return Message_Receiving_Class_Img;
227
228               when AMF.UMLDI.Message_Receiving_Instance =>
229                  return Message_Receiving_Instance_Img;
230
231               when AMF.UMLDI.Message_Sending_Class =>
232                  return Message_Sending_Class_Img;
233
234               when AMF.UMLDI.Message_Sending_Instance =>
235                  return Message_Sending_Instance_Img;
236
237               when AMF.UMLDI.Other_End =>
238                  return Other_End_Img;
239
240               when AMF.UMLDI.Parameter =>
241                  return Parameter_Img;
242
243               when AMF.UMLDI.Return_Value =>
244                  return Return_Value_Img;
245
246               when AMF.UMLDI.Sequence_Number =>
247                  return Sequence_Number_Img;
248
249               when AMF.UMLDI.Weak_Order =>
250                  return Weak_Order_Img;
251            end case;
252         end;
253
254      elsif DT = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Navigability_Notation_Kind then
255         declare
256            Item : constant AMF.UMLDI.UMLDI_UML_Navigability_Notation_Kind
257              := AMF.UMLDI.Holders.UML_Navigability_Notation_Kinds.Element (Value);
258
259         begin
260            case Item is
261               when AMF.UMLDI.Always =>
262                  return Always_Img;
263
264               when AMF.UMLDI.Never =>
265                  return Never_Img;
266
267               when AMF.UMLDI.One_Way =>
268                  return One_Way_Img;
269            end case;
270         end;
271
272      else
273         raise Program_Error;
274      end if;
275   end Convert_To_String;
276
277   ------------
278   -- Create --
279   ------------
280
281   overriding function Create
282    (Self       : not null access UMLDI_Factory;
283     Meta_Class : not null access AMF.CMOF.Classes.CMOF_Class'Class)
284       return not null AMF.Elements.Element_Access
285   is
286      MC      : constant AMF.Internals.CMOF_Element
287        := AMF.Internals.Elements.Element_Base'Class (Meta_Class.all).Element;
288      Element : AMF.Internals.AMF_Element;
289
290   begin
291      if MC = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Activity_Diagram then
292         Element := AMF.Internals.Tables.UML_Constructors.Create_UMLDI_UML_Activity_Diagram;
293
294      elsif MC = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Association_End_Label then
295         Element := AMF.Internals.Tables.UML_Constructors.Create_UMLDI_UML_Association_End_Label;
296
297      elsif MC = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Association_Or_Connector_Or_Link_Shape then
298         Element := AMF.Internals.Tables.UML_Constructors.Create_UMLDI_UML_Association_Or_Connector_Or_Link_Shape;
299
300      elsif MC = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Class_Diagram then
301         Element := AMF.Internals.Tables.UML_Constructors.Create_UMLDI_UML_Class_Diagram;
302
303      elsif MC = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Classifier_Shape then
304         Element := AMF.Internals.Tables.UML_Constructors.Create_UMLDI_UML_Classifier_Shape;
305
306      elsif MC = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Compartment then
307         Element := AMF.Internals.Tables.UML_Constructors.Create_UMLDI_UML_Compartment;
308
309      elsif MC = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Compartmentable_Shape then
310         Element := AMF.Internals.Tables.UML_Constructors.Create_UMLDI_UML_Compartmentable_Shape;
311
312      elsif MC = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Component_Diagram then
313         Element := AMF.Internals.Tables.UML_Constructors.Create_UMLDI_UML_Component_Diagram;
314
315      elsif MC = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Composite_Structure_Diagram then
316         Element := AMF.Internals.Tables.UML_Constructors.Create_UMLDI_UML_Composite_Structure_Diagram;
317
318      elsif MC = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Deployment_Diagram then
319         Element := AMF.Internals.Tables.UML_Constructors.Create_UMLDI_UML_Deployment_Diagram;
320
321      elsif MC = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Edge then
322         Element := AMF.Internals.Tables.UML_Constructors.Create_UMLDI_UML_Edge;
323
324      elsif MC = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Interaction_Diagram then
325         Element := AMF.Internals.Tables.UML_Constructors.Create_UMLDI_UML_Interaction_Diagram;
326
327      elsif MC = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Interaction_Table_Label then
328         Element := AMF.Internals.Tables.UML_Constructors.Create_UMLDI_UML_Interaction_Table_Label;
329
330      elsif MC = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Keyword_Label then
331         Element := AMF.Internals.Tables.UML_Constructors.Create_UMLDI_UML_Keyword_Label;
332
333      elsif MC = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Label then
334         Element := AMF.Internals.Tables.UML_Constructors.Create_UMLDI_UML_Label;
335
336      elsif MC = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Multiplicity_Label then
337         Element := AMF.Internals.Tables.UML_Constructors.Create_UMLDI_UML_Multiplicity_Label;
338
339      elsif MC = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Name_Label then
340         Element := AMF.Internals.Tables.UML_Constructors.Create_UMLDI_UML_Name_Label;
341
342      elsif MC = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Object_Diagram then
343         Element := AMF.Internals.Tables.UML_Constructors.Create_UMLDI_UML_Object_Diagram;
344
345      elsif MC = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Package_Diagram then
346         Element := AMF.Internals.Tables.UML_Constructors.Create_UMLDI_UML_Package_Diagram;
347
348      elsif MC = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Profile_Diagram then
349         Element := AMF.Internals.Tables.UML_Constructors.Create_UMLDI_UML_Profile_Diagram;
350
351      elsif MC = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Redefines_Label then
352         Element := AMF.Internals.Tables.UML_Constructors.Create_UMLDI_UML_Redefines_Label;
353
354      elsif MC = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Shape then
355         Element := AMF.Internals.Tables.UML_Constructors.Create_UMLDI_UML_Shape;
356
357      elsif MC = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_State_Machine_Diagram then
358         Element := AMF.Internals.Tables.UML_Constructors.Create_UMLDI_UML_State_Machine_Diagram;
359
360      elsif MC = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_State_Shape then
361         Element := AMF.Internals.Tables.UML_Constructors.Create_UMLDI_UML_State_Shape;
362
363      elsif MC = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Stereotype_Property_Value_Label then
364         Element := AMF.Internals.Tables.UML_Constructors.Create_UMLDI_UML_Stereotype_Property_Value_Label;
365
366      elsif MC = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Style then
367         Element := AMF.Internals.Tables.UML_Constructors.Create_UMLDI_UML_Style;
368
369      elsif MC = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Typed_Element_Label then
370         Element := AMF.Internals.Tables.UML_Constructors.Create_UMLDI_UML_Typed_Element_Label;
371
372      elsif MC = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Use_Case_Diagram then
373         Element := AMF.Internals.Tables.UML_Constructors.Create_UMLDI_UML_Use_Case_Diagram;
374
375      else
376         raise Program_Error;
377      end if;
378
379      AMF.Internals.Extents.Internal_Append (Self.Extent, Element);
380      AMF.Internals.Listener_Registry.Notify_Instance_Create
381       (AMF.Internals.Helpers.To_Element (Element));
382
383      return AMF.Internals.Helpers.To_Element (Element);
384   end Create;
385
386   ------------------------
387   -- Create_From_String --
388   ------------------------
389
390   overriding function Create_From_String
391    (Self      : not null access UMLDI_Factory;
392     Data_Type : not null access AMF.CMOF.Data_Types.CMOF_Data_Type'Class;
393     Image     : League.Strings.Universal_String) return League.Holders.Holder
394   is
395      pragma Unreferenced (Self);
396
397      use type League.Strings.Universal_String;
398
399      DT : constant AMF.Internals.CMOF_Element
400        := AMF.Internals.Elements.Element_Base'Class (Data_Type.all).Element;
401
402   begin
403      if DT = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Association_Or_Connector_Or_Link_Shape_Kind then
404         if Image = Diamond_Img then
405            return
406              AMF.UMLDI.Holders.UML_Association_Or_Connector_Or_Link_Shape_Kinds.To_Holder
407               (AMF.UMLDI.Diamond);
408
409         elsif Image = Triangle_Img then
410            return
411              AMF.UMLDI.Holders.UML_Association_Or_Connector_Or_Link_Shape_Kinds.To_Holder
412               (AMF.UMLDI.Triangle);
413
414         else
415            raise Constraint_Error;
416         end if;
417
418      elsif DT = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Inherited_State_Border_Kind then
419         if Image = Dashed_Img then
420            return
421              AMF.UMLDI.Holders.UML_Inherited_State_Border_Kinds.To_Holder
422               (AMF.UMLDI.Dashed);
423
424         elsif Image = Gray_Img then
425            return
426              AMF.UMLDI.Holders.UML_Inherited_State_Border_Kinds.To_Holder
427               (AMF.UMLDI.Gray);
428
429         else
430            raise Constraint_Error;
431         end if;
432
433      elsif DT = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Interaction_Diagram_Kind then
434         if Image = Communication_Img then
435            return
436              AMF.UMLDI.Holders.UML_Interaction_Diagram_Kinds.To_Holder
437               (AMF.UMLDI.Communication);
438
439         elsif Image = Overview_Img then
440            return
441              AMF.UMLDI.Holders.UML_Interaction_Diagram_Kinds.To_Holder
442               (AMF.UMLDI.Overview);
443
444         elsif Image = Sequence_Img then
445            return
446              AMF.UMLDI.Holders.UML_Interaction_Diagram_Kinds.To_Holder
447               (AMF.UMLDI.Sequence);
448
449         elsif Image = Table_Img then
450            return
451              AMF.UMLDI.Holders.UML_Interaction_Diagram_Kinds.To_Holder
452               (AMF.UMLDI.Table);
453
454         elsif Image = Timing_Img then
455            return
456              AMF.UMLDI.Holders.UML_Interaction_Diagram_Kinds.To_Holder
457               (AMF.UMLDI.Timing);
458
459         else
460            raise Constraint_Error;
461         end if;
462
463      elsif DT = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Interaction_Table_Label_Kind then
464         if Image = Constraint_Img then
465            return
466              AMF.UMLDI.Holders.UML_Interaction_Table_Label_Kinds.To_Holder
467               (AMF.UMLDI.Constraint);
468
469         elsif Image = Diagram_Identifier_Img then
470            return
471              AMF.UMLDI.Holders.UML_Interaction_Table_Label_Kinds.To_Holder
472               (AMF.UMLDI.Diagram_Identifier);
473
474         elsif Image = Generated_Instance_Name_Img then
475            return
476              AMF.UMLDI.Holders.UML_Interaction_Table_Label_Kinds.To_Holder
477               (AMF.UMLDI.Generated_Instance_Name);
478
479         elsif Image = Lifeline_Class_Img then
480            return
481              AMF.UMLDI.Holders.UML_Interaction_Table_Label_Kinds.To_Holder
482               (AMF.UMLDI.Lifeline_Class);
483
484         elsif Image = Lifeline_Instance_Img then
485            return
486              AMF.UMLDI.Holders.UML_Interaction_Table_Label_Kinds.To_Holder
487               (AMF.UMLDI.Lifeline_Instance);
488
489         elsif Image = Message_Name_Img then
490            return
491              AMF.UMLDI.Holders.UML_Interaction_Table_Label_Kinds.To_Holder
492               (AMF.UMLDI.Message_Name);
493
494         elsif Image = Message_Receiving_Class_Img then
495            return
496              AMF.UMLDI.Holders.UML_Interaction_Table_Label_Kinds.To_Holder
497               (AMF.UMLDI.Message_Receiving_Class);
498
499         elsif Image = Message_Receiving_Instance_Img then
500            return
501              AMF.UMLDI.Holders.UML_Interaction_Table_Label_Kinds.To_Holder
502               (AMF.UMLDI.Message_Receiving_Instance);
503
504         elsif Image = Message_Sending_Class_Img then
505            return
506              AMF.UMLDI.Holders.UML_Interaction_Table_Label_Kinds.To_Holder
507               (AMF.UMLDI.Message_Sending_Class);
508
509         elsif Image = Message_Sending_Instance_Img then
510            return
511              AMF.UMLDI.Holders.UML_Interaction_Table_Label_Kinds.To_Holder
512               (AMF.UMLDI.Message_Sending_Instance);
513
514         elsif Image = Other_End_Img then
515            return
516              AMF.UMLDI.Holders.UML_Interaction_Table_Label_Kinds.To_Holder
517               (AMF.UMLDI.Other_End);
518
519         elsif Image = Parameter_Img then
520            return
521              AMF.UMLDI.Holders.UML_Interaction_Table_Label_Kinds.To_Holder
522               (AMF.UMLDI.Parameter);
523
524         elsif Image = Return_Value_Img then
525            return
526              AMF.UMLDI.Holders.UML_Interaction_Table_Label_Kinds.To_Holder
527               (AMF.UMLDI.Return_Value);
528
529         elsif Image = Sequence_Number_Img then
530            return
531              AMF.UMLDI.Holders.UML_Interaction_Table_Label_Kinds.To_Holder
532               (AMF.UMLDI.Sequence_Number);
533
534         elsif Image = Weak_Order_Img then
535            return
536              AMF.UMLDI.Holders.UML_Interaction_Table_Label_Kinds.To_Holder
537               (AMF.UMLDI.Weak_Order);
538
539         else
540            raise Constraint_Error;
541         end if;
542
543      elsif DT = AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Navigability_Notation_Kind then
544         if Image = Always_Img then
545            return
546              AMF.UMLDI.Holders.UML_Navigability_Notation_Kinds.To_Holder
547               (AMF.UMLDI.Always);
548
549         elsif Image = Never_Img then
550            return
551              AMF.UMLDI.Holders.UML_Navigability_Notation_Kinds.To_Holder
552               (AMF.UMLDI.Never);
553
554         elsif Image = One_Way_Img then
555            return
556              AMF.UMLDI.Holders.UML_Navigability_Notation_Kinds.To_Holder
557               (AMF.UMLDI.One_Way);
558
559         else
560            raise Constraint_Error;
561         end if;
562
563      else
564         raise Program_Error;
565      end if;
566   end Create_From_String;
567
568   -----------------
569   -- Create_Link --
570   -----------------
571
572   overriding function Create_Link
573    (Self           : not null access UMLDI_Factory;
574     Association    :
575       not null access AMF.CMOF.Associations.CMOF_Association'Class;
576     First_Element  : not null AMF.Elements.Element_Access;
577     Second_Element : not null AMF.Elements.Element_Access)
578       return not null AMF.Links.Link_Access
579   is
580      pragma Unreferenced (Self);
581
582   begin
583      return
584        AMF.Internals.Links.Proxy
585         (AMF.Internals.Links.Create_Link
586           (AMF.Internals.Elements.Element_Base'Class
587             (Association.all).Element,
588            AMF.Internals.Helpers.To_Element (First_Element),
589            AMF.Internals.Helpers.To_Element (Second_Element)));
590   end Create_Link;
591
592   -----------------
593   -- Get_Package --
594   -----------------
595
596   overriding function Get_Package
597    (Self : not null access constant UMLDI_Factory)
598       return AMF.CMOF.Packages.Collections.Set_Of_CMOF_Package
599   is
600      pragma Unreferenced (Self);
601
602   begin
603      return Result : AMF.CMOF.Packages.Collections.Set_Of_CMOF_Package do
604         Result.Add (Get_Package);
605      end return;
606   end Get_Package;
607
608   -----------------
609   -- Get_Package --
610   -----------------
611
612   function Get_Package return not null AMF.CMOF.Packages.CMOF_Package_Access is
613   begin
614      return
615        AMF.CMOF.Packages.CMOF_Package_Access
616         (AMF.Internals.Helpers.To_Element
617           (AMF.Internals.Tables.UMLDI_Metamodel.MM_UMLDI_UMLDI));
618   end Get_Package;
619
620   ---------------------------------
621   -- Create_UML_Activity_Diagram --
622   ---------------------------------
623
624   overriding function Create_UML_Activity_Diagram
625    (Self : not null access UMLDI_Factory)
626       return AMF.UMLDI.UML_Activity_Diagrams.UMLDI_UML_Activity_Diagram_Access is
627   begin
628      return
629        AMF.UMLDI.UML_Activity_Diagrams.UMLDI_UML_Activity_Diagram_Access
630         (Self.Create
631           (AMF.CMOF.Classes.CMOF_Class_Access
632             (AMF.Internals.Helpers.To_Element
633               (AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Activity_Diagram))));
634   end Create_UML_Activity_Diagram;
635
636   --------------------------------------
637   -- Create_UML_Association_End_Label --
638   --------------------------------------
639
640   overriding function Create_UML_Association_End_Label
641    (Self : not null access UMLDI_Factory)
642       return AMF.UMLDI.UML_Association_End_Labels.UMLDI_UML_Association_End_Label_Access is
643   begin
644      return
645        AMF.UMLDI.UML_Association_End_Labels.UMLDI_UML_Association_End_Label_Access
646         (Self.Create
647           (AMF.CMOF.Classes.CMOF_Class_Access
648             (AMF.Internals.Helpers.To_Element
649               (AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Association_End_Label))));
650   end Create_UML_Association_End_Label;
651
652   -------------------------------------------------------
653   -- Create_UML_Association_Or_Connector_Or_Link_Shape --
654   -------------------------------------------------------
655
656   overriding function Create_UML_Association_Or_Connector_Or_Link_Shape
657    (Self : not null access UMLDI_Factory)
658       return AMF.UMLDI.UML_Association_Or_Connector_Or_Link_Shapes.UMLDI_UML_Association_Or_Connector_Or_Link_Shape_Access is
659   begin
660      return
661        AMF.UMLDI.UML_Association_Or_Connector_Or_Link_Shapes.UMLDI_UML_Association_Or_Connector_Or_Link_Shape_Access
662         (Self.Create
663           (AMF.CMOF.Classes.CMOF_Class_Access
664             (AMF.Internals.Helpers.To_Element
665               (AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Association_Or_Connector_Or_Link_Shape))));
666   end Create_UML_Association_Or_Connector_Or_Link_Shape;
667
668   ------------------------------
669   -- Create_UML_Class_Diagram --
670   ------------------------------
671
672   overriding function Create_UML_Class_Diagram
673    (Self : not null access UMLDI_Factory)
674       return AMF.UMLDI.UML_Class_Diagrams.UMLDI_UML_Class_Diagram_Access is
675   begin
676      return
677        AMF.UMLDI.UML_Class_Diagrams.UMLDI_UML_Class_Diagram_Access
678         (Self.Create
679           (AMF.CMOF.Classes.CMOF_Class_Access
680             (AMF.Internals.Helpers.To_Element
681               (AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Class_Diagram))));
682   end Create_UML_Class_Diagram;
683
684   ---------------------------------
685   -- Create_UML_Classifier_Shape --
686   ---------------------------------
687
688   overriding function Create_UML_Classifier_Shape
689    (Self : not null access UMLDI_Factory)
690       return AMF.UMLDI.UML_Classifier_Shapes.UMLDI_UML_Classifier_Shape_Access is
691   begin
692      return
693        AMF.UMLDI.UML_Classifier_Shapes.UMLDI_UML_Classifier_Shape_Access
694         (Self.Create
695           (AMF.CMOF.Classes.CMOF_Class_Access
696             (AMF.Internals.Helpers.To_Element
697               (AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Classifier_Shape))));
698   end Create_UML_Classifier_Shape;
699
700   ----------------------------
701   -- Create_UML_Compartment --
702   ----------------------------
703
704   overriding function Create_UML_Compartment
705    (Self : not null access UMLDI_Factory)
706       return AMF.UMLDI.UML_Compartments.UMLDI_UML_Compartment_Access is
707   begin
708      return
709        AMF.UMLDI.UML_Compartments.UMLDI_UML_Compartment_Access
710         (Self.Create
711           (AMF.CMOF.Classes.CMOF_Class_Access
712             (AMF.Internals.Helpers.To_Element
713               (AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Compartment))));
714   end Create_UML_Compartment;
715
716   --------------------------------------
717   -- Create_UML_Compartmentable_Shape --
718   --------------------------------------
719
720   overriding function Create_UML_Compartmentable_Shape
721    (Self : not null access UMLDI_Factory)
722       return AMF.UMLDI.UML_Compartmentable_Shapes.UMLDI_UML_Compartmentable_Shape_Access is
723   begin
724      return
725        AMF.UMLDI.UML_Compartmentable_Shapes.UMLDI_UML_Compartmentable_Shape_Access
726         (Self.Create
727           (AMF.CMOF.Classes.CMOF_Class_Access
728             (AMF.Internals.Helpers.To_Element
729               (AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Compartmentable_Shape))));
730   end Create_UML_Compartmentable_Shape;
731
732   ----------------------------------
733   -- Create_UML_Component_Diagram --
734   ----------------------------------
735
736   overriding function Create_UML_Component_Diagram
737    (Self : not null access UMLDI_Factory)
738       return AMF.UMLDI.UML_Component_Diagrams.UMLDI_UML_Component_Diagram_Access is
739   begin
740      return
741        AMF.UMLDI.UML_Component_Diagrams.UMLDI_UML_Component_Diagram_Access
742         (Self.Create
743           (AMF.CMOF.Classes.CMOF_Class_Access
744             (AMF.Internals.Helpers.To_Element
745               (AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Component_Diagram))));
746   end Create_UML_Component_Diagram;
747
748   --------------------------------------------
749   -- Create_UML_Composite_Structure_Diagram --
750   --------------------------------------------
751
752   overriding function Create_UML_Composite_Structure_Diagram
753    (Self : not null access UMLDI_Factory)
754       return AMF.UMLDI.UML_Composite_Structure_Diagrams.UMLDI_UML_Composite_Structure_Diagram_Access is
755   begin
756      return
757        AMF.UMLDI.UML_Composite_Structure_Diagrams.UMLDI_UML_Composite_Structure_Diagram_Access
758         (Self.Create
759           (AMF.CMOF.Classes.CMOF_Class_Access
760             (AMF.Internals.Helpers.To_Element
761               (AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Composite_Structure_Diagram))));
762   end Create_UML_Composite_Structure_Diagram;
763
764   -----------------------------------
765   -- Create_UML_Deployment_Diagram --
766   -----------------------------------
767
768   overriding function Create_UML_Deployment_Diagram
769    (Self : not null access UMLDI_Factory)
770       return AMF.UMLDI.UML_Deployment_Diagrams.UMLDI_UML_Deployment_Diagram_Access is
771   begin
772      return
773        AMF.UMLDI.UML_Deployment_Diagrams.UMLDI_UML_Deployment_Diagram_Access
774         (Self.Create
775           (AMF.CMOF.Classes.CMOF_Class_Access
776             (AMF.Internals.Helpers.To_Element
777               (AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Deployment_Diagram))));
778   end Create_UML_Deployment_Diagram;
779
780   ---------------------
781   -- Create_UML_Edge --
782   ---------------------
783
784   overriding function Create_UML_Edge
785    (Self : not null access UMLDI_Factory)
786       return AMF.UMLDI.UML_Edges.UMLDI_UML_Edge_Access is
787   begin
788      return
789        AMF.UMLDI.UML_Edges.UMLDI_UML_Edge_Access
790         (Self.Create
791           (AMF.CMOF.Classes.CMOF_Class_Access
792             (AMF.Internals.Helpers.To_Element
793               (AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Edge))));
794   end Create_UML_Edge;
795
796   ------------------------------------
797   -- Create_UML_Interaction_Diagram --
798   ------------------------------------
799
800   overriding function Create_UML_Interaction_Diagram
801    (Self : not null access UMLDI_Factory)
802       return AMF.UMLDI.UML_Interaction_Diagrams.UMLDI_UML_Interaction_Diagram_Access is
803   begin
804      return
805        AMF.UMLDI.UML_Interaction_Diagrams.UMLDI_UML_Interaction_Diagram_Access
806         (Self.Create
807           (AMF.CMOF.Classes.CMOF_Class_Access
808             (AMF.Internals.Helpers.To_Element
809               (AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Interaction_Diagram))));
810   end Create_UML_Interaction_Diagram;
811
812   ----------------------------------------
813   -- Create_UML_Interaction_Table_Label --
814   ----------------------------------------
815
816   overriding function Create_UML_Interaction_Table_Label
817    (Self : not null access UMLDI_Factory)
818       return AMF.UMLDI.UML_Interaction_Table_Labels.UMLDI_UML_Interaction_Table_Label_Access is
819   begin
820      return
821        AMF.UMLDI.UML_Interaction_Table_Labels.UMLDI_UML_Interaction_Table_Label_Access
822         (Self.Create
823           (AMF.CMOF.Classes.CMOF_Class_Access
824             (AMF.Internals.Helpers.To_Element
825               (AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Interaction_Table_Label))));
826   end Create_UML_Interaction_Table_Label;
827
828   ------------------------------
829   -- Create_UML_Keyword_Label --
830   ------------------------------
831
832   overriding function Create_UML_Keyword_Label
833    (Self : not null access UMLDI_Factory)
834       return AMF.UMLDI.UML_Keyword_Labels.UMLDI_UML_Keyword_Label_Access is
835   begin
836      return
837        AMF.UMLDI.UML_Keyword_Labels.UMLDI_UML_Keyword_Label_Access
838         (Self.Create
839           (AMF.CMOF.Classes.CMOF_Class_Access
840             (AMF.Internals.Helpers.To_Element
841               (AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Keyword_Label))));
842   end Create_UML_Keyword_Label;
843
844   ----------------------
845   -- Create_UML_Label --
846   ----------------------
847
848   overriding function Create_UML_Label
849    (Self : not null access UMLDI_Factory)
850       return AMF.UMLDI.UML_Labels.UMLDI_UML_Label_Access is
851   begin
852      return
853        AMF.UMLDI.UML_Labels.UMLDI_UML_Label_Access
854         (Self.Create
855           (AMF.CMOF.Classes.CMOF_Class_Access
856             (AMF.Internals.Helpers.To_Element
857               (AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Label))));
858   end Create_UML_Label;
859
860   -----------------------------------
861   -- Create_UML_Multiplicity_Label --
862   -----------------------------------
863
864   overriding function Create_UML_Multiplicity_Label
865    (Self : not null access UMLDI_Factory)
866       return AMF.UMLDI.UML_Multiplicity_Labels.UMLDI_UML_Multiplicity_Label_Access is
867   begin
868      return
869        AMF.UMLDI.UML_Multiplicity_Labels.UMLDI_UML_Multiplicity_Label_Access
870         (Self.Create
871           (AMF.CMOF.Classes.CMOF_Class_Access
872             (AMF.Internals.Helpers.To_Element
873               (AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Multiplicity_Label))));
874   end Create_UML_Multiplicity_Label;
875
876   ---------------------------
877   -- Create_UML_Name_Label --
878   ---------------------------
879
880   overriding function Create_UML_Name_Label
881    (Self : not null access UMLDI_Factory)
882       return AMF.UMLDI.UML_Name_Labels.UMLDI_UML_Name_Label_Access is
883   begin
884      return
885        AMF.UMLDI.UML_Name_Labels.UMLDI_UML_Name_Label_Access
886         (Self.Create
887           (AMF.CMOF.Classes.CMOF_Class_Access
888             (AMF.Internals.Helpers.To_Element
889               (AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Name_Label))));
890   end Create_UML_Name_Label;
891
892   -------------------------------
893   -- Create_UML_Object_Diagram --
894   -------------------------------
895
896   overriding function Create_UML_Object_Diagram
897    (Self : not null access UMLDI_Factory)
898       return AMF.UMLDI.UML_Object_Diagrams.UMLDI_UML_Object_Diagram_Access is
899   begin
900      return
901        AMF.UMLDI.UML_Object_Diagrams.UMLDI_UML_Object_Diagram_Access
902         (Self.Create
903           (AMF.CMOF.Classes.CMOF_Class_Access
904             (AMF.Internals.Helpers.To_Element
905               (AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Object_Diagram))));
906   end Create_UML_Object_Diagram;
907
908   --------------------------------
909   -- Create_UML_Package_Diagram --
910   --------------------------------
911
912   overriding function Create_UML_Package_Diagram
913    (Self : not null access UMLDI_Factory)
914       return AMF.UMLDI.UML_Package_Diagrams.UMLDI_UML_Package_Diagram_Access is
915   begin
916      return
917        AMF.UMLDI.UML_Package_Diagrams.UMLDI_UML_Package_Diagram_Access
918         (Self.Create
919           (AMF.CMOF.Classes.CMOF_Class_Access
920             (AMF.Internals.Helpers.To_Element
921               (AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Package_Diagram))));
922   end Create_UML_Package_Diagram;
923
924   --------------------------------
925   -- Create_UML_Profile_Diagram --
926   --------------------------------
927
928   overriding function Create_UML_Profile_Diagram
929    (Self : not null access UMLDI_Factory)
930       return AMF.UMLDI.UML_Profile_Diagrams.UMLDI_UML_Profile_Diagram_Access is
931   begin
932      return
933        AMF.UMLDI.UML_Profile_Diagrams.UMLDI_UML_Profile_Diagram_Access
934         (Self.Create
935           (AMF.CMOF.Classes.CMOF_Class_Access
936             (AMF.Internals.Helpers.To_Element
937               (AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Profile_Diagram))));
938   end Create_UML_Profile_Diagram;
939
940   --------------------------------
941   -- Create_UML_Redefines_Label --
942   --------------------------------
943
944   overriding function Create_UML_Redefines_Label
945    (Self : not null access UMLDI_Factory)
946       return AMF.UMLDI.UML_Redefines_Labels.UMLDI_UML_Redefines_Label_Access is
947   begin
948      return
949        AMF.UMLDI.UML_Redefines_Labels.UMLDI_UML_Redefines_Label_Access
950         (Self.Create
951           (AMF.CMOF.Classes.CMOF_Class_Access
952             (AMF.Internals.Helpers.To_Element
953               (AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Redefines_Label))));
954   end Create_UML_Redefines_Label;
955
956   ----------------------
957   -- Create_UML_Shape --
958   ----------------------
959
960   overriding function Create_UML_Shape
961    (Self : not null access UMLDI_Factory)
962       return AMF.UMLDI.UML_Shapes.UMLDI_UML_Shape_Access is
963   begin
964      return
965        AMF.UMLDI.UML_Shapes.UMLDI_UML_Shape_Access
966         (Self.Create
967           (AMF.CMOF.Classes.CMOF_Class_Access
968             (AMF.Internals.Helpers.To_Element
969               (AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Shape))));
970   end Create_UML_Shape;
971
972   --------------------------------------
973   -- Create_UML_State_Machine_Diagram --
974   --------------------------------------
975
976   overriding function Create_UML_State_Machine_Diagram
977    (Self : not null access UMLDI_Factory)
978       return AMF.UMLDI.UML_State_Machine_Diagrams.UMLDI_UML_State_Machine_Diagram_Access is
979   begin
980      return
981        AMF.UMLDI.UML_State_Machine_Diagrams.UMLDI_UML_State_Machine_Diagram_Access
982         (Self.Create
983           (AMF.CMOF.Classes.CMOF_Class_Access
984             (AMF.Internals.Helpers.To_Element
985               (AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_State_Machine_Diagram))));
986   end Create_UML_State_Machine_Diagram;
987
988   ----------------------------
989   -- Create_UML_State_Shape --
990   ----------------------------
991
992   overriding function Create_UML_State_Shape
993    (Self : not null access UMLDI_Factory)
994       return AMF.UMLDI.UML_State_Shapes.UMLDI_UML_State_Shape_Access is
995   begin
996      return
997        AMF.UMLDI.UML_State_Shapes.UMLDI_UML_State_Shape_Access
998         (Self.Create
999           (AMF.CMOF.Classes.CMOF_Class_Access
1000             (AMF.Internals.Helpers.To_Element
1001               (AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_State_Shape))));
1002   end Create_UML_State_Shape;
1003
1004   ------------------------------------------------
1005   -- Create_UML_Stereotype_Property_Value_Label --
1006   ------------------------------------------------
1007
1008   overriding function Create_UML_Stereotype_Property_Value_Label
1009    (Self : not null access UMLDI_Factory)
1010       return AMF.UMLDI.UML_Stereotype_Property_Value_Labels.UMLDI_UML_Stereotype_Property_Value_Label_Access is
1011   begin
1012      return
1013        AMF.UMLDI.UML_Stereotype_Property_Value_Labels.UMLDI_UML_Stereotype_Property_Value_Label_Access
1014         (Self.Create
1015           (AMF.CMOF.Classes.CMOF_Class_Access
1016             (AMF.Internals.Helpers.To_Element
1017               (AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Stereotype_Property_Value_Label))));
1018   end Create_UML_Stereotype_Property_Value_Label;
1019
1020   ----------------------
1021   -- Create_UML_Style --
1022   ----------------------
1023
1024   overriding function Create_UML_Style
1025    (Self : not null access UMLDI_Factory)
1026       return AMF.UMLDI.UML_Styles.UMLDI_UML_Style_Access is
1027   begin
1028      return
1029        AMF.UMLDI.UML_Styles.UMLDI_UML_Style_Access
1030         (Self.Create
1031           (AMF.CMOF.Classes.CMOF_Class_Access
1032             (AMF.Internals.Helpers.To_Element
1033               (AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Style))));
1034   end Create_UML_Style;
1035
1036   ------------------------------------
1037   -- Create_UML_Typed_Element_Label --
1038   ------------------------------------
1039
1040   overriding function Create_UML_Typed_Element_Label
1041    (Self : not null access UMLDI_Factory)
1042       return AMF.UMLDI.UML_Typed_Element_Labels.UMLDI_UML_Typed_Element_Label_Access is
1043   begin
1044      return
1045        AMF.UMLDI.UML_Typed_Element_Labels.UMLDI_UML_Typed_Element_Label_Access
1046         (Self.Create
1047           (AMF.CMOF.Classes.CMOF_Class_Access
1048             (AMF.Internals.Helpers.To_Element
1049               (AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Typed_Element_Label))));
1050   end Create_UML_Typed_Element_Label;
1051
1052   ---------------------------------
1053   -- Create_UML_Use_Case_Diagram --
1054   ---------------------------------
1055
1056   overriding function Create_UML_Use_Case_Diagram
1057    (Self : not null access UMLDI_Factory)
1058       return AMF.UMLDI.UML_Use_Case_Diagrams.UMLDI_UML_Use_Case_Diagram_Access is
1059   begin
1060      return
1061        AMF.UMLDI.UML_Use_Case_Diagrams.UMLDI_UML_Use_Case_Diagram_Access
1062         (Self.Create
1063           (AMF.CMOF.Classes.CMOF_Class_Access
1064             (AMF.Internals.Helpers.To_Element
1065               (AMF.Internals.Tables.UMLDI_Metamodel.MC_UMLDI_UML_Use_Case_Diagram))));
1066   end Create_UML_Use_Case_Diagram;
1067
1068end AMF.Internals.Factories.UMLDI_Factories;
1069