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: 2635 $ $Date: 2012-03-18 19:06:27 +0400 (Sun, 18 Mar 2012) $ 43------------------------------------------------------------------------------ 44-- This file is generated, don't edit it. 45------------------------------------------------------------------------------ 46with AMF.Internals.OCL_Elements; 47with AMF.OCL.Expression_In_Ocls; 48with AMF.OCL.Ocl_Expressions; 49with AMF.OCL.Variables.Collections; 50with AMF.String_Collections; 51with AMF.UML.Behaviors; 52with AMF.UML.Classifiers; 53with AMF.UML.Comments.Collections; 54with AMF.UML.Dependencies.Collections; 55with AMF.UML.Elements.Collections; 56with AMF.UML.Named_Elements; 57with AMF.UML.Namespaces.Collections; 58with AMF.UML.Packages.Collections; 59with AMF.UML.Parameterable_Elements; 60with AMF.UML.Parameters; 61with AMF.UML.String_Expressions; 62with AMF.UML.Template_Parameters; 63with AMF.UML.Types; 64with AMF.Visitors; 65 66package AMF.Internals.OCL_Expression_In_Ocls is 67 68 type OCL_Expression_In_Ocl_Proxy is 69 limited new AMF.Internals.OCL_Elements.OCL_Element_Proxy 70 and AMF.OCL.Expression_In_Ocls.OCL_Expression_In_Ocl with null record; 71 72 overriding function Get_Body_Expression 73 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 74 return AMF.OCL.Ocl_Expressions.OCL_Ocl_Expression_Access; 75 -- Getter of ExpressionInOcl::bodyExpression. 76 -- 77 78 overriding procedure Set_Body_Expression 79 (Self : not null access OCL_Expression_In_Ocl_Proxy; 80 To : AMF.OCL.Ocl_Expressions.OCL_Ocl_Expression_Access); 81 -- Setter of ExpressionInOcl::bodyExpression. 82 -- 83 84 overriding function Get_Context_Variable 85 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 86 return AMF.OCL.Variables.OCL_Variable_Access; 87 -- Getter of ExpressionInOcl::contextVariable. 88 -- 89 90 overriding procedure Set_Context_Variable 91 (Self : not null access OCL_Expression_In_Ocl_Proxy; 92 To : AMF.OCL.Variables.OCL_Variable_Access); 93 -- Setter of ExpressionInOcl::contextVariable. 94 -- 95 96 overriding function Get_Result_Variable 97 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 98 return AMF.OCL.Variables.OCL_Variable_Access; 99 -- Getter of ExpressionInOcl::resultVariable. 100 -- 101 102 overriding procedure Set_Result_Variable 103 (Self : not null access OCL_Expression_In_Ocl_Proxy; 104 To : AMF.OCL.Variables.OCL_Variable_Access); 105 -- Setter of ExpressionInOcl::resultVariable. 106 -- 107 108 overriding function Get_Parameter_Variable 109 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 110 return AMF.OCL.Variables.Collections.Ordered_Set_Of_OCL_Variable; 111 -- Getter of ExpressionInOcl::parameterVariable. 112 -- 113 114 overriding function Get_Generated_Type 115 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 116 return AMF.UML.Classifiers.UML_Classifier_Access; 117 -- Getter of ExpressionInOcl::generatedType. 118 -- 119 120 overriding procedure Set_Generated_Type 121 (Self : not null access OCL_Expression_In_Ocl_Proxy; 122 To : AMF.UML.Classifiers.UML_Classifier_Access); 123 -- Setter of ExpressionInOcl::generatedType. 124 -- 125 126 overriding function Get_Behavior 127 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 128 return AMF.UML.Behaviors.UML_Behavior_Access; 129 -- Getter of OpaqueExpression::behavior. 130 -- 131 -- Specifies the behavior of the opaque expression. 132 133 overriding procedure Set_Behavior 134 (Self : not null access OCL_Expression_In_Ocl_Proxy; 135 To : AMF.UML.Behaviors.UML_Behavior_Access); 136 -- Setter of OpaqueExpression::behavior. 137 -- 138 -- Specifies the behavior of the opaque expression. 139 140 overriding function Get_Body 141 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 142 return AMF.String_Collections.Sequence_Of_String; 143 -- Getter of OpaqueExpression::body. 144 -- 145 -- The text of the expression, possibly in multiple languages. 146 147 overriding function Get_Language 148 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 149 return AMF.String_Collections.Ordered_Set_Of_String; 150 -- Getter of OpaqueExpression::language. 151 -- 152 -- Specifies the languages in which the expression is stated. The 153 -- interpretation of the expression body depends on the languages. If the 154 -- languages are unspecified, they might be implicit from the expression 155 -- body or the context. Languages are matched to body strings by order. 156 157 overriding function Get_Result 158 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 159 return AMF.UML.Parameters.UML_Parameter_Access; 160 -- Getter of OpaqueExpression::result. 161 -- 162 -- Restricts an opaque expression to return exactly one return result. 163 -- When the invocation of the opaque expression completes, a single set of 164 -- values is returned to its owner. This association is derived from the 165 -- single return result parameter of the associated behavior. 166 167 overriding function Get_Type 168 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 169 return AMF.UML.Types.UML_Type_Access; 170 -- Getter of TypedElement::type. 171 -- 172 -- The type of the TypedElement. 173 -- This information is derived from the return result for this Operation. 174 175 overriding procedure Set_Type 176 (Self : not null access OCL_Expression_In_Ocl_Proxy; 177 To : AMF.UML.Types.UML_Type_Access); 178 -- Setter of TypedElement::type. 179 -- 180 -- The type of the TypedElement. 181 -- This information is derived from the return result for this Operation. 182 183 overriding function Get_Client_Dependency 184 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 185 return AMF.UML.Dependencies.Collections.Set_Of_UML_Dependency; 186 -- Getter of NamedElement::clientDependency. 187 -- 188 -- Indicates the dependencies that reference the client. 189 190 overriding function Get_Name 191 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 192 return AMF.Optional_String; 193 -- Getter of NamedElement::name. 194 -- 195 -- The name of the NamedElement. 196 197 overriding procedure Set_Name 198 (Self : not null access OCL_Expression_In_Ocl_Proxy; 199 To : AMF.Optional_String); 200 -- Setter of NamedElement::name. 201 -- 202 -- The name of the NamedElement. 203 204 overriding function Get_Name_Expression 205 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 206 return AMF.UML.String_Expressions.UML_String_Expression_Access; 207 -- Getter of NamedElement::nameExpression. 208 -- 209 -- The string expression used to define the name of this named element. 210 211 overriding procedure Set_Name_Expression 212 (Self : not null access OCL_Expression_In_Ocl_Proxy; 213 To : AMF.UML.String_Expressions.UML_String_Expression_Access); 214 -- Setter of NamedElement::nameExpression. 215 -- 216 -- The string expression used to define the name of this named element. 217 218 overriding function Get_Namespace 219 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 220 return AMF.UML.Namespaces.UML_Namespace_Access; 221 -- Getter of NamedElement::namespace. 222 -- 223 -- Specifies the namespace that owns the NamedElement. 224 225 overriding function Get_Qualified_Name 226 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 227 return AMF.Optional_String; 228 -- Getter of NamedElement::qualifiedName. 229 -- 230 -- A name which allows the NamedElement to be identified within a 231 -- hierarchy of nested Namespaces. It is constructed from the names of the 232 -- containing namespaces starting at the root of the hierarchy and ending 233 -- with the name of the NamedElement itself. 234 235 overriding function Get_Visibility 236 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 237 return AMF.UML.Optional_UML_Visibility_Kind; 238 -- Getter of NamedElement::visibility. 239 -- 240 -- Determines where the NamedElement appears within different Namespaces 241 -- within the overall model, and its accessibility. 242 243 overriding procedure Set_Visibility 244 (Self : not null access OCL_Expression_In_Ocl_Proxy; 245 To : AMF.UML.Optional_UML_Visibility_Kind); 246 -- Setter of NamedElement::visibility. 247 -- 248 -- Determines where the NamedElement appears within different Namespaces 249 -- within the overall model, and its accessibility. 250 251 overriding function Get_Owned_Comment 252 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 253 return AMF.UML.Comments.Collections.Set_Of_UML_Comment; 254 -- Getter of Element::ownedComment. 255 -- 256 -- The Comments owned by this element. 257 258 overriding function Get_Owned_Element 259 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 260 return AMF.UML.Elements.Collections.Set_Of_UML_Element; 261 -- Getter of Element::ownedElement. 262 -- 263 -- The Elements owned by this element. 264 265 overriding function Get_Owner 266 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 267 return AMF.UML.Elements.UML_Element_Access; 268 -- Getter of Element::owner. 269 -- 270 -- The Element that owns this element. 271 272 overriding function Get_Visibility 273 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 274 return AMF.UML.UML_Visibility_Kind; 275 -- Getter of PackageableElement::visibility. 276 -- 277 -- Indicates that packageable elements must always have a visibility, 278 -- i.e., visibility is not optional. 279 280 overriding procedure Set_Visibility 281 (Self : not null access OCL_Expression_In_Ocl_Proxy; 282 To : AMF.UML.UML_Visibility_Kind); 283 -- Setter of PackageableElement::visibility. 284 -- 285 -- Indicates that packageable elements must always have a visibility, 286 -- i.e., visibility is not optional. 287 288 overriding function Get_Owning_Template_Parameter 289 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 290 return AMF.UML.Template_Parameters.UML_Template_Parameter_Access; 291 -- Getter of ParameterableElement::owningTemplateParameter. 292 -- 293 -- The formal template parameter that owns this element. 294 295 overriding procedure Set_Owning_Template_Parameter 296 (Self : not null access OCL_Expression_In_Ocl_Proxy; 297 To : AMF.UML.Template_Parameters.UML_Template_Parameter_Access); 298 -- Setter of ParameterableElement::owningTemplateParameter. 299 -- 300 -- The formal template parameter that owns this element. 301 302 overriding function Get_Template_Parameter 303 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 304 return AMF.UML.Template_Parameters.UML_Template_Parameter_Access; 305 -- Getter of ParameterableElement::templateParameter. 306 -- 307 -- The template parameter that exposes this element as a formal parameter. 308 309 overriding procedure Set_Template_Parameter 310 (Self : not null access OCL_Expression_In_Ocl_Proxy; 311 To : AMF.UML.Template_Parameters.UML_Template_Parameter_Access); 312 -- Setter of ParameterableElement::templateParameter. 313 -- 314 -- The template parameter that exposes this element as a formal parameter. 315 316 overriding function Is_Integral 317 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 318 return Boolean; 319 -- Operation OpaqueExpression::isIntegral. 320 -- 321 -- The query isIntegral() tells whether an expression is intended to 322 -- produce an integer. 323 324 overriding function Is_Non_Negative 325 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 326 return Boolean; 327 -- Operation OpaqueExpression::isNonNegative. 328 -- 329 -- The query isNonNegative() tells whether an integer expression has a 330 -- non-negative value. 331 332 overriding function Is_Positive 333 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 334 return Boolean; 335 -- Operation OpaqueExpression::isPositive. 336 -- 337 -- The query isPositive() tells whether an integer expression has a 338 -- positive value. 339 340 overriding function Result 341 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 342 return AMF.UML.Parameters.UML_Parameter_Access; 343 -- Operation OpaqueExpression::result. 344 -- 345 -- Missing derivation for OpaqueExpression::/result : Parameter 346 347 overriding function Value 348 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 349 return Integer; 350 -- Operation OpaqueExpression::value. 351 -- 352 -- The query value() gives an integer value for an expression intended to 353 -- produce one. 354 355 overriding function Boolean_Value 356 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 357 return AMF.Optional_Boolean; 358 -- Operation ValueSpecification::booleanValue. 359 -- 360 -- The query booleanValue() gives a single Boolean value when one can be 361 -- computed. 362 363 overriding function Integer_Value 364 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 365 return AMF.Optional_Integer; 366 -- Operation ValueSpecification::integerValue. 367 -- 368 -- The query integerValue() gives a single Integer value when one can be 369 -- computed. 370 371 overriding function Is_Compatible_With 372 (Self : not null access constant OCL_Expression_In_Ocl_Proxy; 373 P : AMF.UML.Parameterable_Elements.UML_Parameterable_Element_Access) 374 return Boolean; 375 -- Operation ValueSpecification::isCompatibleWith. 376 -- 377 -- The query isCompatibleWith() determines if this parameterable element 378 -- is compatible with the specified parameterable element. By default 379 -- parameterable element P is compatible with parameterable element Q if 380 -- the kind of P is the same or a subtype as the kind of Q. In addition, 381 -- for ValueSpecification, the type must be conformant with the type of 382 -- the specified parameterable element. 383 384 overriding function Is_Computable 385 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 386 return Boolean; 387 -- Operation ValueSpecification::isComputable. 388 -- 389 -- The query isComputable() determines whether a value specification can 390 -- be computed in a model. This operation cannot be fully defined in OCL. 391 -- A conforming implementation is expected to deliver true for this 392 -- operation for all value specifications that it can compute, and to 393 -- compute all of those for which the operation is true. A conforming 394 -- implementation is expected to be able to compute the value of all 395 -- literals. 396 397 overriding function Is_Null 398 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 399 return Boolean; 400 -- Operation ValueSpecification::isNull. 401 -- 402 -- The query isNull() returns true when it can be computed that the value 403 -- is null. 404 405 overriding function Real_Value 406 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 407 return AMF.Optional_Real; 408 -- Operation ValueSpecification::realValue. 409 -- 410 -- The query realValue() gives a single Real value when one can be 411 -- computed. 412 413 overriding function String_Value 414 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 415 return AMF.Optional_String; 416 -- Operation ValueSpecification::stringValue. 417 -- 418 -- The query stringValue() gives a single String value when one can be 419 -- computed. 420 421 overriding function Unlimited_Value 422 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 423 return AMF.Optional_Unlimited_Natural; 424 -- Operation ValueSpecification::unlimitedValue. 425 -- 426 -- The query unlimitedValue() gives a single UnlimitedNatural value when 427 -- one can be computed. 428 429 overriding function All_Namespaces 430 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 431 return AMF.UML.Namespaces.Collections.Ordered_Set_Of_UML_Namespace; 432 -- Operation NamedElement::allNamespaces. 433 -- 434 -- The query allNamespaces() gives the sequence of namespaces in which the 435 -- NamedElement is nested, working outwards. 436 437 overriding function All_Owning_Packages 438 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 439 return AMF.UML.Packages.Collections.Set_Of_UML_Package; 440 -- Operation NamedElement::allOwningPackages. 441 -- 442 -- The query allOwningPackages() returns all the directly or indirectly 443 -- owning packages. 444 445 overriding function Is_Distinguishable_From 446 (Self : not null access constant OCL_Expression_In_Ocl_Proxy; 447 N : AMF.UML.Named_Elements.UML_Named_Element_Access; 448 Ns : AMF.UML.Namespaces.UML_Namespace_Access) 449 return Boolean; 450 -- Operation NamedElement::isDistinguishableFrom. 451 -- 452 -- The query isDistinguishableFrom() determines whether two NamedElements 453 -- may logically co-exist within a Namespace. By default, two named 454 -- elements are distinguishable if (a) they have unrelated types or (b) 455 -- they have related types but different names. 456 457 overriding function Namespace 458 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 459 return AMF.UML.Namespaces.UML_Namespace_Access; 460 -- Operation NamedElement::namespace. 461 -- 462 -- Missing derivation for NamedElement::/namespace : Namespace 463 464 overriding function Qualified_Name 465 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 466 return League.Strings.Universal_String; 467 -- Operation NamedElement::qualifiedName. 468 -- 469 -- When there is a name, and all of the containing namespaces have a name, 470 -- the qualified name is constructed from the names of the containing 471 -- namespaces. 472 473 overriding function Separator 474 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 475 return League.Strings.Universal_String; 476 -- Operation NamedElement::separator. 477 -- 478 -- The query separator() gives the string that is used to separate names 479 -- when constructing a qualified name. 480 481 overriding function All_Owned_Elements 482 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 483 return AMF.UML.Elements.Collections.Set_Of_UML_Element; 484 -- Operation Element::allOwnedElements. 485 -- 486 -- The query allOwnedElements() gives all of the direct and indirect owned 487 -- elements of an element. 488 489 overriding function Must_Be_Owned 490 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 491 return Boolean; 492 -- Operation Element::mustBeOwned. 493 -- 494 -- The query mustBeOwned() indicates whether elements of this type must 495 -- have an owner. Subclasses of Element that do not require an owner must 496 -- override this operation. 497 498 overriding function Is_Template_Parameter 499 (Self : not null access constant OCL_Expression_In_Ocl_Proxy) 500 return Boolean; 501 -- Operation ParameterableElement::isTemplateParameter. 502 -- 503 -- The query isTemplateParameter() determines if this parameterable 504 -- element is exposed as a formal template parameter. 505 506 overriding procedure Enter_Element 507 (Self : not null access constant OCL_Expression_In_Ocl_Proxy; 508 Visitor : in out AMF.Visitors.Abstract_Visitor'Class; 509 Control : in out AMF.Visitors.Traverse_Control); 510 511 overriding procedure Leave_Element 512 (Self : not null access constant OCL_Expression_In_Ocl_Proxy; 513 Visitor : in out AMF.Visitors.Abstract_Visitor'Class; 514 Control : in out AMF.Visitors.Traverse_Control); 515 516 overriding procedure Visit_Element 517 (Self : not null access constant OCL_Expression_In_Ocl_Proxy; 518 Iterator : in out AMF.Visitors.Abstract_Iterator'Class; 519 Visitor : in out AMF.Visitors.Abstract_Visitor'Class; 520 Control : in out AMF.Visitors.Traverse_Control); 521 522end AMF.Internals.OCL_Expression_In_Ocls; 523