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.CMOF.Associations;
47with AMF.CMOF.Classes;
48with AMF.CMOF.Data_Types;
49with AMF.Factories.UMLDI_Factories;
50with AMF.Links;
51with AMF.UMLDI.UML_Activity_Diagrams;
52with AMF.UMLDI.UML_Association_End_Labels;
53with AMF.UMLDI.UML_Association_Or_Connector_Or_Link_Shapes;
54with AMF.UMLDI.UML_Class_Diagrams;
55with AMF.UMLDI.UML_Classifier_Shapes;
56with AMF.UMLDI.UML_Compartmentable_Shapes;
57with AMF.UMLDI.UML_Compartments;
58with AMF.UMLDI.UML_Component_Diagrams;
59with AMF.UMLDI.UML_Composite_Structure_Diagrams;
60with AMF.UMLDI.UML_Deployment_Diagrams;
61with AMF.UMLDI.UML_Edges;
62with AMF.UMLDI.UML_Interaction_Diagrams;
63with AMF.UMLDI.UML_Interaction_Table_Labels;
64with AMF.UMLDI.UML_Keyword_Labels;
65with AMF.UMLDI.UML_Labels;
66with AMF.UMLDI.UML_Multiplicity_Labels;
67with AMF.UMLDI.UML_Name_Labels;
68with AMF.UMLDI.UML_Object_Diagrams;
69with AMF.UMLDI.UML_Package_Diagrams;
70with AMF.UMLDI.UML_Profile_Diagrams;
71with AMF.UMLDI.UML_Redefines_Labels;
72with AMF.UMLDI.UML_Shapes;
73with AMF.UMLDI.UML_State_Machine_Diagrams;
74with AMF.UMLDI.UML_State_Shapes;
75with AMF.UMLDI.UML_Stereotype_Property_Value_Labels;
76with AMF.UMLDI.UML_Styles;
77with AMF.UMLDI.UML_Typed_Element_Labels;
78with AMF.UMLDI.UML_Use_Case_Diagrams;
79with League.Holders;
80
81package AMF.Internals.Factories.UMLDI_Factories is
82
83   type UMLDI_Factory is
84     limited new AMF.Internals.Factories.Metamodel_Factory_Base
85       and AMF.Factories.UMLDI_Factories.UMLDI_Factory with null record;
86
87   overriding function Convert_To_String
88    (Self      : not null access UMLDI_Factory;
89     Data_Type : not null access AMF.CMOF.Data_Types.CMOF_Data_Type'Class;
90     Value     : League.Holders.Holder) return League.Strings.Universal_String;
91
92   overriding function Create
93    (Self       : not null access UMLDI_Factory;
94     Meta_Class : not null access AMF.CMOF.Classes.CMOF_Class'Class)
95       return not null AMF.Elements.Element_Access;
96
97   overriding function Create_From_String
98    (Self      : not null access UMLDI_Factory;
99     Data_Type : not null access AMF.CMOF.Data_Types.CMOF_Data_Type'Class;
100     Image     : League.Strings.Universal_String) return League.Holders.Holder;
101
102   overriding function Create_Link
103    (Self           : not null access UMLDI_Factory;
104     Association    :
105       not null access AMF.CMOF.Associations.CMOF_Association'Class;
106     First_Element  : not null AMF.Elements.Element_Access;
107     Second_Element : not null AMF.Elements.Element_Access)
108       return not null AMF.Links.Link_Access;
109
110   overriding function Get_Package
111    (Self : not null access constant UMLDI_Factory)
112       return AMF.CMOF.Packages.Collections.Set_Of_CMOF_Package;
113
114   function Constructor
115    (Extent : AMF.Internals.AMF_Extent)
116       return not null AMF.Factories.Factory_Access;
117
118   function Get_Package return not null AMF.CMOF.Packages.CMOF_Package_Access;
119
120   function Create_UML_Activity_Diagram
121    (Self : not null access UMLDI_Factory)
122       return AMF.UMLDI.UML_Activity_Diagrams.UMLDI_UML_Activity_Diagram_Access;
123
124   function Create_UML_Association_End_Label
125    (Self : not null access UMLDI_Factory)
126       return AMF.UMLDI.UML_Association_End_Labels.UMLDI_UML_Association_End_Label_Access;
127
128   function Create_UML_Association_Or_Connector_Or_Link_Shape
129    (Self : not null access UMLDI_Factory)
130       return AMF.UMLDI.UML_Association_Or_Connector_Or_Link_Shapes.UMLDI_UML_Association_Or_Connector_Or_Link_Shape_Access;
131
132   function Create_UML_Class_Diagram
133    (Self : not null access UMLDI_Factory)
134       return AMF.UMLDI.UML_Class_Diagrams.UMLDI_UML_Class_Diagram_Access;
135
136   function Create_UML_Classifier_Shape
137    (Self : not null access UMLDI_Factory)
138       return AMF.UMLDI.UML_Classifier_Shapes.UMLDI_UML_Classifier_Shape_Access;
139
140   function Create_UML_Compartment
141    (Self : not null access UMLDI_Factory)
142       return AMF.UMLDI.UML_Compartments.UMLDI_UML_Compartment_Access;
143
144   function Create_UML_Compartmentable_Shape
145    (Self : not null access UMLDI_Factory)
146       return AMF.UMLDI.UML_Compartmentable_Shapes.UMLDI_UML_Compartmentable_Shape_Access;
147
148   function Create_UML_Component_Diagram
149    (Self : not null access UMLDI_Factory)
150       return AMF.UMLDI.UML_Component_Diagrams.UMLDI_UML_Component_Diagram_Access;
151
152   function Create_UML_Composite_Structure_Diagram
153    (Self : not null access UMLDI_Factory)
154       return AMF.UMLDI.UML_Composite_Structure_Diagrams.UMLDI_UML_Composite_Structure_Diagram_Access;
155
156   function Create_UML_Deployment_Diagram
157    (Self : not null access UMLDI_Factory)
158       return AMF.UMLDI.UML_Deployment_Diagrams.UMLDI_UML_Deployment_Diagram_Access;
159
160   function Create_UML_Edge
161    (Self : not null access UMLDI_Factory)
162       return AMF.UMLDI.UML_Edges.UMLDI_UML_Edge_Access;
163
164   function Create_UML_Interaction_Diagram
165    (Self : not null access UMLDI_Factory)
166       return AMF.UMLDI.UML_Interaction_Diagrams.UMLDI_UML_Interaction_Diagram_Access;
167
168   function Create_UML_Interaction_Table_Label
169    (Self : not null access UMLDI_Factory)
170       return AMF.UMLDI.UML_Interaction_Table_Labels.UMLDI_UML_Interaction_Table_Label_Access;
171
172   function Create_UML_Keyword_Label
173    (Self : not null access UMLDI_Factory)
174       return AMF.UMLDI.UML_Keyword_Labels.UMLDI_UML_Keyword_Label_Access;
175
176   function Create_UML_Label
177    (Self : not null access UMLDI_Factory)
178       return AMF.UMLDI.UML_Labels.UMLDI_UML_Label_Access;
179
180   function Create_UML_Multiplicity_Label
181    (Self : not null access UMLDI_Factory)
182       return AMF.UMLDI.UML_Multiplicity_Labels.UMLDI_UML_Multiplicity_Label_Access;
183
184   function Create_UML_Name_Label
185    (Self : not null access UMLDI_Factory)
186       return AMF.UMLDI.UML_Name_Labels.UMLDI_UML_Name_Label_Access;
187
188   function Create_UML_Object_Diagram
189    (Self : not null access UMLDI_Factory)
190       return AMF.UMLDI.UML_Object_Diagrams.UMLDI_UML_Object_Diagram_Access;
191
192   function Create_UML_Package_Diagram
193    (Self : not null access UMLDI_Factory)
194       return AMF.UMLDI.UML_Package_Diagrams.UMLDI_UML_Package_Diagram_Access;
195
196   function Create_UML_Profile_Diagram
197    (Self : not null access UMLDI_Factory)
198       return AMF.UMLDI.UML_Profile_Diagrams.UMLDI_UML_Profile_Diagram_Access;
199
200   function Create_UML_Redefines_Label
201    (Self : not null access UMLDI_Factory)
202       return AMF.UMLDI.UML_Redefines_Labels.UMLDI_UML_Redefines_Label_Access;
203
204   function Create_UML_Shape
205    (Self : not null access UMLDI_Factory)
206       return AMF.UMLDI.UML_Shapes.UMLDI_UML_Shape_Access;
207
208   function Create_UML_State_Machine_Diagram
209    (Self : not null access UMLDI_Factory)
210       return AMF.UMLDI.UML_State_Machine_Diagrams.UMLDI_UML_State_Machine_Diagram_Access;
211
212   function Create_UML_State_Shape
213    (Self : not null access UMLDI_Factory)
214       return AMF.UMLDI.UML_State_Shapes.UMLDI_UML_State_Shape_Access;
215
216   function Create_UML_Stereotype_Property_Value_Label
217    (Self : not null access UMLDI_Factory)
218       return AMF.UMLDI.UML_Stereotype_Property_Value_Labels.UMLDI_UML_Stereotype_Property_Value_Label_Access;
219
220   function Create_UML_Style
221    (Self : not null access UMLDI_Factory)
222       return AMF.UMLDI.UML_Styles.UMLDI_UML_Style_Access;
223
224   function Create_UML_Typed_Element_Label
225    (Self : not null access UMLDI_Factory)
226       return AMF.UMLDI.UML_Typed_Element_Labels.UMLDI_UML_Typed_Element_Label_Access;
227
228   function Create_UML_Use_Case_Diagram
229    (Self : not null access UMLDI_Factory)
230       return AMF.UMLDI.UML_Use_Case_Diagrams.UMLDI_UML_Use_Case_Diagram_Access;
231
232end AMF.Internals.Factories.UMLDI_Factories;
233