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: 2714 $ $Date: 2012-03-24 10:29:08 +0400 (Sat, 24 Mar 2012) $
43------------------------------------------------------------------------------
44--  This file is generated, don't edit it.
45------------------------------------------------------------------------------
46--  A parameter is a specification of an argument used to pass information
47--  into or out of an invocation of a behavioral feature.
48--
49--  Parameters have support for streaming, exceptions, and parameter sets.
50--
51--  Parameters are allowed to be treated as connectable elements.
52------------------------------------------------------------------------------
53with AMF.UML.Connectable_Elements;
54with AMF.UML.Multiplicity_Elements;
55limited with AMF.UML.Operations;
56limited with AMF.UML.Parameter_Sets.Collections;
57limited with AMF.UML.Value_Specifications;
58
59package AMF.UML.Parameters is
60
61   pragma Preelaborate;
62
63   type UML_Parameter is limited interface
64     and AMF.UML.Multiplicity_Elements.UML_Multiplicity_Element
65     and AMF.UML.Connectable_Elements.UML_Connectable_Element;
66
67   type UML_Parameter_Access is
68     access all UML_Parameter'Class;
69   for UML_Parameter_Access'Storage_Size use 0;
70
71   not overriding function Get_Default
72    (Self : not null access constant UML_Parameter)
73       return AMF.Optional_String is abstract;
74   --  Getter of Parameter::default.
75   --
76   --  Specifies a String that represents a value to be used when no argument
77   --  is supplied for the Parameter.
78
79   not overriding procedure Set_Default
80    (Self : not null access UML_Parameter;
81     To   : AMF.Optional_String) is abstract;
82   --  Setter of Parameter::default.
83   --
84   --  Specifies a String that represents a value to be used when no argument
85   --  is supplied for the Parameter.
86
87   not overriding function Get_Default_Value
88    (Self : not null access constant UML_Parameter)
89       return AMF.UML.Value_Specifications.UML_Value_Specification_Access is abstract;
90   --  Getter of Parameter::defaultValue.
91   --
92   --  Specifies a ValueSpecification that represents a value to be used when
93   --  no argument is supplied for the Parameter.
94
95   not overriding procedure Set_Default_Value
96    (Self : not null access UML_Parameter;
97     To   : AMF.UML.Value_Specifications.UML_Value_Specification_Access) is abstract;
98   --  Setter of Parameter::defaultValue.
99   --
100   --  Specifies a ValueSpecification that represents a value to be used when
101   --  no argument is supplied for the Parameter.
102
103   not overriding function Get_Direction
104    (Self : not null access constant UML_Parameter)
105       return AMF.UML.UML_Parameter_Direction_Kind is abstract;
106   --  Getter of Parameter::direction.
107   --
108   --  Indicates whether a parameter is being sent into or out of a behavioral
109   --  element.
110
111   not overriding procedure Set_Direction
112    (Self : not null access UML_Parameter;
113     To   : AMF.UML.UML_Parameter_Direction_Kind) is abstract;
114   --  Setter of Parameter::direction.
115   --
116   --  Indicates whether a parameter is being sent into or out of a behavioral
117   --  element.
118
119   not overriding function Get_Effect
120    (Self : not null access constant UML_Parameter)
121       return AMF.UML.Optional_UML_Parameter_Effect_Kind is abstract;
122   --  Getter of Parameter::effect.
123   --
124   --  Specifies the effect that the owner of the parameter has on values
125   --  passed in or out of the parameter.
126
127   not overriding procedure Set_Effect
128    (Self : not null access UML_Parameter;
129     To   : AMF.UML.Optional_UML_Parameter_Effect_Kind) is abstract;
130   --  Setter of Parameter::effect.
131   --
132   --  Specifies the effect that the owner of the parameter has on values
133   --  passed in or out of the parameter.
134
135   not overriding function Get_Is_Exception
136    (Self : not null access constant UML_Parameter)
137       return Boolean is abstract;
138   --  Getter of Parameter::isException.
139   --
140   --  Tells whether an output parameter may emit a value to the exclusion of
141   --  the other outputs.
142
143   not overriding procedure Set_Is_Exception
144    (Self : not null access UML_Parameter;
145     To   : Boolean) is abstract;
146   --  Setter of Parameter::isException.
147   --
148   --  Tells whether an output parameter may emit a value to the exclusion of
149   --  the other outputs.
150
151   not overriding function Get_Is_Stream
152    (Self : not null access constant UML_Parameter)
153       return Boolean is abstract;
154   --  Getter of Parameter::isStream.
155   --
156   --  Tells whether an input parameter may accept values while its behavior
157   --  is executing, or whether an output parameter post values while the
158   --  behavior is executing.
159
160   not overriding procedure Set_Is_Stream
161    (Self : not null access UML_Parameter;
162     To   : Boolean) is abstract;
163   --  Setter of Parameter::isStream.
164   --
165   --  Tells whether an input parameter may accept values while its behavior
166   --  is executing, or whether an output parameter post values while the
167   --  behavior is executing.
168
169   not overriding function Get_Operation
170    (Self : not null access constant UML_Parameter)
171       return AMF.UML.Operations.UML_Operation_Access is abstract;
172   --  Getter of Parameter::operation.
173   --
174   --  References the Operation owning this parameter.
175
176   not overriding procedure Set_Operation
177    (Self : not null access UML_Parameter;
178     To   : AMF.UML.Operations.UML_Operation_Access) is abstract;
179   --  Setter of Parameter::operation.
180   --
181   --  References the Operation owning this parameter.
182
183   not overriding function Get_Parameter_Set
184    (Self : not null access constant UML_Parameter)
185       return AMF.UML.Parameter_Sets.Collections.Set_Of_UML_Parameter_Set is abstract;
186   --  Getter of Parameter::parameterSet.
187   --
188   --  The parameter sets containing the parameter. See ParameterSet.
189
190   not overriding function Default
191    (Self : not null access constant UML_Parameter)
192       return AMF.Optional_String is abstract;
193   --  Operation Parameter::default.
194   --
195   --  Missing derivation for Parameter::/default : String
196
197end AMF.UML.Parameters;
198