1------------------------------------------------------------------------------
2--                                                                          --
3--                            Matreshka Project                             --
4--                                                                          --
5--                          Ada Modeling Framework                          --
6--                                                                          --
7--                        Runtime Library Component                         --
8--                                                                          --
9------------------------------------------------------------------------------
10--                                                                          --
11-- Copyright © 2011, 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: 2324 $ $Date: 2011-12-03 13:24:03 +0400 (Sat, 03 Dec 2011) $
43------------------------------------------------------------------------------
44--  This file is generated, don't edit it.
45------------------------------------------------------------------------------
46--  An operation is a behavioral feature of a classifier that specifies the
47--  name, type, parameters, and constraints for invoking an associated
48--  behavior.
49------------------------------------------------------------------------------
50with AMF.CMOF.Behavioral_Features;
51limited with AMF.CMOF.Classes;
52limited with AMF.CMOF.Constraints.Collections;
53limited with AMF.CMOF.Data_Types;
54limited with AMF.CMOF.Operations.Collections;
55limited with AMF.CMOF.Parameters.Collections;
56limited with AMF.CMOF.Redefinable_Elements;
57limited with AMF.CMOF.Types.Collections;
58
59package AMF.CMOF.Operations is
60
61   pragma Preelaborate;
62
63   type CMOF_Operation is limited interface
64     and AMF.CMOF.Behavioral_Features.CMOF_Behavioral_Feature;
65
66   type CMOF_Operation_Access is
67     access all CMOF_Operation'Class;
68   for CMOF_Operation_Access'Storage_Size use 0;
69
70   not overriding function Get_Is_Query
71    (Self : not null access constant CMOF_Operation)
72       return Boolean is abstract;
73   --  Getter of Operation::isQuery.
74   --
75   --  Specifies whether an execution of the BehavioralFeature leaves the
76   --  state of the system unchanged (isQuery=true) or whether side effects
77   --  may occur (isQuery=false).
78
79   not overriding procedure Set_Is_Query
80    (Self : not null access CMOF_Operation;
81     To   : Boolean) is abstract;
82   --  Setter of Operation::isQuery.
83   --
84   --  Specifies whether an execution of the BehavioralFeature leaves the
85   --  state of the system unchanged (isQuery=true) or whether side effects
86   --  may occur (isQuery=false).
87
88   not overriding function Get_Is_Ordered
89    (Self : not null access constant CMOF_Operation)
90       return Boolean is abstract;
91   --  Getter of Operation::isOrdered.
92   --
93   --  This information is derived from the return result for this Operation.
94
95   not overriding procedure Set_Is_Ordered
96    (Self : not null access CMOF_Operation;
97     To   : Boolean) is abstract;
98   --  Setter of Operation::isOrdered.
99   --
100   --  This information is derived from the return result for this Operation.
101
102   not overriding function Get_Is_Unique
103    (Self : not null access constant CMOF_Operation)
104       return Boolean is abstract;
105   --  Getter of Operation::isUnique.
106   --
107   --  This information is derived from the return result for this Operation.
108
109   not overriding procedure Set_Is_Unique
110    (Self : not null access CMOF_Operation;
111     To   : Boolean) is abstract;
112   --  Setter of Operation::isUnique.
113   --
114   --  This information is derived from the return result for this Operation.
115
116   not overriding function Get_Lower
117    (Self : not null access constant CMOF_Operation)
118       return AMF.Optional_Integer is abstract;
119   --  Getter of Operation::lower.
120   --
121   --  This information is derived from the return result for this Operation.
122
123   not overriding procedure Set_Lower
124    (Self : not null access CMOF_Operation;
125     To   : AMF.Optional_Integer) is abstract;
126   --  Setter of Operation::lower.
127   --
128   --  This information is derived from the return result for this Operation.
129
130   not overriding function Get_Upper
131    (Self : not null access constant CMOF_Operation)
132       return AMF.Optional_Unlimited_Natural is abstract;
133   --  Getter of Operation::upper.
134   --
135   --  This information is derived from the return result for this Operation.
136
137   not overriding procedure Set_Upper
138    (Self : not null access CMOF_Operation;
139     To   : AMF.Optional_Unlimited_Natural) is abstract;
140   --  Setter of Operation::upper.
141   --
142   --  This information is derived from the return result for this Operation.
143
144   not overriding function Get_Class
145    (Self : not null access constant CMOF_Operation)
146       return AMF.CMOF.Classes.CMOF_Class_Access is abstract;
147   --  Getter of Operation::class.
148   --
149   --  The class that owns the operation.
150
151   not overriding procedure Set_Class
152    (Self : not null access CMOF_Operation;
153     To   : AMF.CMOF.Classes.CMOF_Class_Access) is abstract;
154   --  Setter of Operation::class.
155   --
156   --  The class that owns the operation.
157
158   not overriding function Get_Datatype
159    (Self : not null access constant CMOF_Operation)
160       return AMF.CMOF.Data_Types.CMOF_Data_Type_Access is abstract;
161   --  Getter of Operation::datatype.
162   --
163   --  The DataType that owns this Operation.
164
165   not overriding procedure Set_Datatype
166    (Self : not null access CMOF_Operation;
167     To   : AMF.CMOF.Data_Types.CMOF_Data_Type_Access) is abstract;
168   --  Setter of Operation::datatype.
169   --
170   --  The DataType that owns this Operation.
171
172   overriding function Get_Raised_Exception
173    (Self : not null access constant CMOF_Operation)
174       return AMF.CMOF.Types.Collections.Set_Of_CMOF_Type is abstract;
175   --  Getter of Operation::raisedException.
176   --
177   --  References the Types representing exceptions that may be raised during
178   --  an invocation of this operation.
179
180   not overriding function Get_Redefined_Operation
181    (Self : not null access constant CMOF_Operation)
182       return AMF.CMOF.Operations.Collections.Set_Of_CMOF_Operation is abstract;
183   --  Getter of Operation::redefinedOperation.
184   --
185   --  References the Operations that are redefined by this Operation.
186
187   not overriding function Get_Type
188    (Self : not null access constant CMOF_Operation)
189       return AMF.CMOF.Types.CMOF_Type_Access is abstract;
190   --  Getter of Operation::type.
191   --
192   --  This information is derived from the return result for this Operation.
193
194   not overriding procedure Set_Type
195    (Self : not null access CMOF_Operation;
196     To   : AMF.CMOF.Types.CMOF_Type_Access) is abstract;
197   --  Setter of Operation::type.
198   --
199   --  This information is derived from the return result for this Operation.
200
201   overriding function Get_Owned_Parameter
202    (Self : not null access constant CMOF_Operation)
203       return AMF.CMOF.Parameters.Collections.Ordered_Set_Of_CMOF_Parameter is abstract;
204   --  Getter of Operation::ownedParameter.
205   --
206   --  Specifies the ordered set of formal parameters of this
207   --  BehavioralFeature.
208
209   not overriding function Get_Precondition
210    (Self : not null access constant CMOF_Operation)
211       return AMF.CMOF.Constraints.Collections.Set_Of_CMOF_Constraint is abstract;
212   --  Getter of Operation::precondition.
213   --
214
215   not overriding function Get_Postcondition
216    (Self : not null access constant CMOF_Operation)
217       return AMF.CMOF.Constraints.Collections.Set_Of_CMOF_Constraint is abstract;
218   --  Getter of Operation::postcondition.
219   --
220
221   not overriding function Get_Body_Condition
222    (Self : not null access constant CMOF_Operation)
223       return AMF.CMOF.Constraints.CMOF_Constraint_Access is abstract;
224   --  Getter of Operation::bodyCondition.
225   --
226
227   not overriding procedure Set_Body_Condition
228    (Self : not null access CMOF_Operation;
229     To   : AMF.CMOF.Constraints.CMOF_Constraint_Access) is abstract;
230   --  Setter of Operation::bodyCondition.
231   --
232
233   not overriding function Is_Ordered
234    (Self : not null access constant CMOF_Operation)
235       return Boolean is abstract;
236   --  Operation Operation::isOrdered.
237   --
238   --  If this operation has a return parameter, isOrdered equals the value of
239   --  isOrdered for that parameter. Otherwise isOrdered is false.
240
241   not overriding function Is_Unique
242    (Self : not null access constant CMOF_Operation)
243       return Boolean is abstract;
244   --  Operation Operation::isUnique.
245   --
246   --  If this operation has a return parameter, isUnique equals the value of
247   --  isUnique for that parameter. Otherwise isUnique is true.
248
249   not overriding function Lower
250    (Self : not null access constant CMOF_Operation)
251       return Integer is abstract;
252   --  Operation Operation::lower.
253   --
254   --  If this operation has a return parameter, lower equals the value of
255   --  lower for that parameter. Otherwise lower is not defined.
256
257   not overriding function Upper
258    (Self : not null access constant CMOF_Operation)
259       return AMF.Unlimited_Natural is abstract;
260   --  Operation Operation::upper.
261   --
262   --  If this operation has a return parameter, upper equals the value of
263   --  upper for that parameter. Otherwise upper is not defined.
264
265   not overriding function Types
266    (Self : not null access constant CMOF_Operation)
267       return AMF.CMOF.Types.CMOF_Type_Access is abstract;
268   --  Operation Operation::type.
269   --
270   --  If this operation has a return parameter, type equals the value of type
271   --  for that parameter. Otherwise type is not defined.
272
273   overriding function Is_Consistent_With
274    (Self : not null access constant CMOF_Operation;
275     Redefinee : AMF.CMOF.Redefinable_Elements.CMOF_Redefinable_Element_Access)
276       return Boolean is abstract;
277   --  Operation Operation::isConsistentWith.
278   --
279   --  The query isConsistentWith() specifies, for any two Operations in a
280   --  context in which redefinition is possible, whether redefinition would
281   --  be consistent in the sense of maintaining type covariance. Other senses
282   --  of consistency may be required, for example to determine consistency in
283   --  the sense of contravariance. Users may define alternative queries under
284   --  names different from 'isConsistentWith()', as for example, users may
285   --  define a query named 'isContravariantWith()'.
286
287   not overriding function Return_Result
288    (Self : not null access constant CMOF_Operation)
289       return AMF.CMOF.Parameters.Collections.Set_Of_CMOF_Parameter is abstract;
290   --  Operation Operation::returnResult.
291   --
292
293end AMF.CMOF.Operations;
294