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: 2981 $ $Date: 2012-05-15 20:56:15 +0400 (Tue, 15 May 2012) $ 43------------------------------------------------------------------------------ 44with AMF.Internals.UML_Properties; 45with AMF.UML.Associations; 46with AMF.UML.Classes; 47with AMF.UML.Classifiers.Collections; 48with AMF.UML.Connectable_Element_Template_Parameters; 49with AMF.UML.Connector_Ends.Collections; 50with AMF.UML.Data_Types; 51with AMF.UML.Dependencies.Collections; 52with AMF.UML.Deployments.Collections; 53with AMF.UML.Extension_Ends; 54with AMF.UML.Interfaces; 55with AMF.UML.Multiplicity_Elements; 56with AMF.UML.Named_Elements; 57with AMF.UML.Namespaces; 58with AMF.UML.Packageable_Elements.Collections; 59with AMF.UML.Packages.Collections; 60with AMF.UML.Parameterable_Elements; 61with AMF.UML.Properties.Collections; 62with AMF.UML.Redefinable_Elements.Collections; 63with AMF.UML.Stereotypes; 64with AMF.UML.String_Expressions; 65with AMF.UML.Template_Parameters; 66with AMF.UML.Types.Collections; 67with AMF.UML.Value_Specifications; 68with AMF.Visitors; 69 70package AMF.Internals.UML_Extension_Ends is 71 72 type UML_Extension_End_Proxy is 73 limited new AMF.Internals.UML_Properties.UML_Property_Proxy 74 and AMF.UML.Extension_Ends.UML_Extension_End with null record; 75 76 overriding procedure Set_Lower 77 (Self : not null access UML_Extension_End_Proxy; 78 To : AMF.Optional_Integer); 79 -- Setter of ExtensionEnd::lower. 80 -- 81 -- This redefinition changes the default multiplicity of association ends, 82 -- since model elements are usually extended by 0 or 1 instance of the 83 -- extension stereotype. 84 85 overriding function Get_Type 86 (Self : not null access constant UML_Extension_End_Proxy) 87 return AMF.UML.Stereotypes.UML_Stereotype_Access; 88 -- Getter of ExtensionEnd::type. 89 -- 90 -- References the type of the ExtensionEnd. Note that this association 91 -- restricts the possible types of an ExtensionEnd to only be Stereotypes. 92 93 overriding procedure Set_Type 94 (Self : not null access UML_Extension_End_Proxy; 95 To : AMF.UML.Stereotypes.UML_Stereotype_Access); 96 -- Setter of ExtensionEnd::type. 97 -- 98 -- References the type of the ExtensionEnd. Note that this association 99 -- restricts the possible types of an ExtensionEnd to only be Stereotypes. 100 101 overriding function Get_Aggregation 102 (Self : not null access constant UML_Extension_End_Proxy) 103 return AMF.UML.UML_Aggregation_Kind; 104 -- Getter of Property::aggregation. 105 -- 106 -- Specifies the kind of aggregation that applies to the Property. 107 108 overriding procedure Set_Aggregation 109 (Self : not null access UML_Extension_End_Proxy; 110 To : AMF.UML.UML_Aggregation_Kind); 111 -- Setter of Property::aggregation. 112 -- 113 -- Specifies the kind of aggregation that applies to the Property. 114 115 overriding function Get_Association 116 (Self : not null access constant UML_Extension_End_Proxy) 117 return AMF.UML.Associations.UML_Association_Access; 118 -- Getter of Property::association. 119 -- 120 -- References the association of which this property is a member, if any. 121 122 overriding procedure Set_Association 123 (Self : not null access UML_Extension_End_Proxy; 124 To : AMF.UML.Associations.UML_Association_Access); 125 -- Setter of Property::association. 126 -- 127 -- References the association of which this property is a member, if any. 128 129 overriding function Get_Association_End 130 (Self : not null access constant UML_Extension_End_Proxy) 131 return AMF.UML.Properties.UML_Property_Access; 132 -- Getter of Property::associationEnd. 133 -- 134 -- Designates the optional association end that owns a qualifier attribute. 135 136 overriding procedure Set_Association_End 137 (Self : not null access UML_Extension_End_Proxy; 138 To : AMF.UML.Properties.UML_Property_Access); 139 -- Setter of Property::associationEnd. 140 -- 141 -- Designates the optional association end that owns a qualifier attribute. 142 143 overriding function Get_Class 144 (Self : not null access constant UML_Extension_End_Proxy) 145 return AMF.UML.Classes.UML_Class_Access; 146 -- Getter of Property::class. 147 -- 148 -- References the Class that owns the Property. 149 -- References the Class that owns the Property. 150 151 overriding procedure Set_Class 152 (Self : not null access UML_Extension_End_Proxy; 153 To : AMF.UML.Classes.UML_Class_Access); 154 -- Setter of Property::class. 155 -- 156 -- References the Class that owns the Property. 157 -- References the Class that owns the Property. 158 159 overriding function Get_Datatype 160 (Self : not null access constant UML_Extension_End_Proxy) 161 return AMF.UML.Data_Types.UML_Data_Type_Access; 162 -- Getter of Property::datatype. 163 -- 164 -- The DataType that owns this Property. 165 166 overriding procedure Set_Datatype 167 (Self : not null access UML_Extension_End_Proxy; 168 To : AMF.UML.Data_Types.UML_Data_Type_Access); 169 -- Setter of Property::datatype. 170 -- 171 -- The DataType that owns this Property. 172 173 overriding function Get_Default 174 (Self : not null access constant UML_Extension_End_Proxy) 175 return AMF.Optional_String; 176 -- Getter of Property::default. 177 -- 178 -- A String that is evaluated to give a default value for the Property 179 -- when an object of the owning Classifier is instantiated. 180 -- Specifies a String that represents a value to be used when no argument 181 -- is supplied for the Property. 182 183 overriding procedure Set_Default 184 (Self : not null access UML_Extension_End_Proxy; 185 To : AMF.Optional_String); 186 -- Setter of Property::default. 187 -- 188 -- A String that is evaluated to give a default value for the Property 189 -- when an object of the owning Classifier is instantiated. 190 -- Specifies a String that represents a value to be used when no argument 191 -- is supplied for the Property. 192 193 overriding function Get_Default_Value 194 (Self : not null access constant UML_Extension_End_Proxy) 195 return AMF.UML.Value_Specifications.UML_Value_Specification_Access; 196 -- Getter of Property::defaultValue. 197 -- 198 -- A ValueSpecification that is evaluated to give a default value for the 199 -- Property when an object of the owning Classifier is instantiated. 200 201 overriding procedure Set_Default_Value 202 (Self : not null access UML_Extension_End_Proxy; 203 To : AMF.UML.Value_Specifications.UML_Value_Specification_Access); 204 -- Setter of Property::defaultValue. 205 -- 206 -- A ValueSpecification that is evaluated to give a default value for the 207 -- Property when an object of the owning Classifier is instantiated. 208 209 overriding function Get_Interface 210 (Self : not null access constant UML_Extension_End_Proxy) 211 return AMF.UML.Interfaces.UML_Interface_Access; 212 -- Getter of Property::interface. 213 -- 214 -- References the Interface that owns the Property 215 216 overriding procedure Set_Interface 217 (Self : not null access UML_Extension_End_Proxy; 218 To : AMF.UML.Interfaces.UML_Interface_Access); 219 -- Setter of Property::interface. 220 -- 221 -- References the Interface that owns the Property 222 223 overriding function Get_Is_Derived 224 (Self : not null access constant UML_Extension_End_Proxy) 225 return Boolean; 226 -- Getter of Property::isDerived. 227 -- 228 -- Specifies whether the Property is derived, i.e., whether its value or 229 -- values can be computed from other information. 230 -- If isDerived is true, the value of the attribute is derived from 231 -- information elsewhere. 232 233 overriding procedure Set_Is_Derived 234 (Self : not null access UML_Extension_End_Proxy; 235 To : Boolean); 236 -- Setter of Property::isDerived. 237 -- 238 -- Specifies whether the Property is derived, i.e., whether its value or 239 -- values can be computed from other information. 240 -- If isDerived is true, the value of the attribute is derived from 241 -- information elsewhere. 242 243 overriding function Get_Is_Derived_Union 244 (Self : not null access constant UML_Extension_End_Proxy) 245 return Boolean; 246 -- Getter of Property::isDerivedUnion. 247 -- 248 -- Specifies whether the property is derived as the union of all of the 249 -- properties that are constrained to subset it. 250 251 overriding procedure Set_Is_Derived_Union 252 (Self : not null access UML_Extension_End_Proxy; 253 To : Boolean); 254 -- Setter of Property::isDerivedUnion. 255 -- 256 -- Specifies whether the property is derived as the union of all of the 257 -- properties that are constrained to subset it. 258 259 overriding function Get_Is_ID 260 (Self : not null access constant UML_Extension_End_Proxy) 261 return Boolean; 262 -- Getter of Property::isID. 263 -- 264 -- True indicates this property can be used to uniquely identify an 265 -- instance of the containing Class. 266 267 overriding procedure Set_Is_ID 268 (Self : not null access UML_Extension_End_Proxy; 269 To : Boolean); 270 -- Setter of Property::isID. 271 -- 272 -- True indicates this property can be used to uniquely identify an 273 -- instance of the containing Class. 274 275 overriding function Get_Is_Read_Only 276 (Self : not null access constant UML_Extension_End_Proxy) 277 return Boolean; 278 -- Getter of Property::isReadOnly. 279 -- 280 -- If isReadOnly is true, the attribute may not be written to after 281 -- initialization. 282 -- If true, the attribute may only be read, and not written. 283 284 overriding procedure Set_Is_Read_Only 285 (Self : not null access UML_Extension_End_Proxy; 286 To : Boolean); 287 -- Setter of Property::isReadOnly. 288 -- 289 -- If isReadOnly is true, the attribute may not be written to after 290 -- initialization. 291 -- If true, the attribute may only be read, and not written. 292 293 overriding function Get_Opposite 294 (Self : not null access constant UML_Extension_End_Proxy) 295 return AMF.UML.Properties.UML_Property_Access; 296 -- Getter of Property::opposite. 297 -- 298 -- In the case where the property is one navigable end of a binary 299 -- association with both ends navigable, this gives the other end. 300 301 overriding procedure Set_Opposite 302 (Self : not null access UML_Extension_End_Proxy; 303 To : AMF.UML.Properties.UML_Property_Access); 304 -- Setter of Property::opposite. 305 -- 306 -- In the case where the property is one navigable end of a binary 307 -- association with both ends navigable, this gives the other end. 308 309 overriding function Get_Owning_Association 310 (Self : not null access constant UML_Extension_End_Proxy) 311 return AMF.UML.Associations.UML_Association_Access; 312 -- Getter of Property::owningAssociation. 313 -- 314 -- References the owning association of this property, if any. 315 316 overriding procedure Set_Owning_Association 317 (Self : not null access UML_Extension_End_Proxy; 318 To : AMF.UML.Associations.UML_Association_Access); 319 -- Setter of Property::owningAssociation. 320 -- 321 -- References the owning association of this property, if any. 322 323 overriding function Get_Qualifier 324 (Self : not null access constant UML_Extension_End_Proxy) 325 return AMF.UML.Properties.Collections.Ordered_Set_Of_UML_Property; 326 -- Getter of Property::qualifier. 327 -- 328 -- An optional list of ordered qualifier attributes for the end. If the 329 -- list is empty, then the Association is not qualified. 330 331 overriding function Get_Redefined_Property 332 (Self : not null access constant UML_Extension_End_Proxy) 333 return AMF.UML.Properties.Collections.Set_Of_UML_Property; 334 -- Getter of Property::redefinedProperty. 335 -- 336 -- References the properties that are redefined by this property. 337 338 overriding function Get_Subsetted_Property 339 (Self : not null access constant UML_Extension_End_Proxy) 340 return AMF.UML.Properties.Collections.Set_Of_UML_Property; 341 -- Getter of Property::subsettedProperty. 342 -- 343 -- References the properties of which this property is constrained to be a 344 -- subset. 345 346 overriding function Get_End 347 (Self : not null access constant UML_Extension_End_Proxy) 348 return AMF.UML.Connector_Ends.Collections.Ordered_Set_Of_UML_Connector_End; 349 -- Getter of ConnectableElement::end. 350 -- 351 -- Denotes a set of connector ends that attaches to this connectable 352 -- element. 353 354 overriding function Get_Template_Parameter 355 (Self : not null access constant UML_Extension_End_Proxy) 356 return AMF.UML.Connectable_Element_Template_Parameters.UML_Connectable_Element_Template_Parameter_Access; 357 -- Getter of ConnectableElement::templateParameter. 358 -- 359 -- The ConnectableElementTemplateParameter for this ConnectableElement 360 -- parameter. 361 362 overriding procedure Set_Template_Parameter 363 (Self : not null access UML_Extension_End_Proxy; 364 To : AMF.UML.Connectable_Element_Template_Parameters.UML_Connectable_Element_Template_Parameter_Access); 365 -- Setter of ConnectableElement::templateParameter. 366 -- 367 -- The ConnectableElementTemplateParameter for this ConnectableElement 368 -- parameter. 369 370 overriding function Get_Type 371 (Self : not null access constant UML_Extension_End_Proxy) 372 return AMF.UML.Types.UML_Type_Access; 373 -- Getter of TypedElement::type. 374 -- 375 -- The type of the TypedElement. 376 -- This information is derived from the return result for this Operation. 377 378 overriding procedure Set_Type 379 (Self : not null access UML_Extension_End_Proxy; 380 To : AMF.UML.Types.UML_Type_Access); 381 -- Setter of TypedElement::type. 382 -- 383 -- The type of the TypedElement. 384 -- This information is derived from the return result for this Operation. 385 386 overriding function Get_Client_Dependency 387 (Self : not null access constant UML_Extension_End_Proxy) 388 return AMF.UML.Dependencies.Collections.Set_Of_UML_Dependency; 389 -- Getter of NamedElement::clientDependency. 390 -- 391 -- Indicates the dependencies that reference the client. 392 393 overriding function Get_Name_Expression 394 (Self : not null access constant UML_Extension_End_Proxy) 395 return AMF.UML.String_Expressions.UML_String_Expression_Access; 396 -- Getter of NamedElement::nameExpression. 397 -- 398 -- The string expression used to define the name of this named element. 399 400 overriding procedure Set_Name_Expression 401 (Self : not null access UML_Extension_End_Proxy; 402 To : AMF.UML.String_Expressions.UML_String_Expression_Access); 403 -- Setter of NamedElement::nameExpression. 404 -- 405 -- The string expression used to define the name of this named element. 406 407 overriding function Get_Namespace 408 (Self : not null access constant UML_Extension_End_Proxy) 409 return AMF.UML.Namespaces.UML_Namespace_Access; 410 -- Getter of NamedElement::namespace. 411 -- 412 -- Specifies the namespace that owns the NamedElement. 413 414 overriding function Get_Qualified_Name 415 (Self : not null access constant UML_Extension_End_Proxy) 416 return AMF.Optional_String; 417 -- Getter of NamedElement::qualifiedName. 418 -- 419 -- A name which allows the NamedElement to be identified within a 420 -- hierarchy of nested Namespaces. It is constructed from the names of the 421 -- containing namespaces starting at the root of the hierarchy and ending 422 -- with the name of the NamedElement itself. 423 424 overriding function Get_Owning_Template_Parameter 425 (Self : not null access constant UML_Extension_End_Proxy) 426 return AMF.UML.Template_Parameters.UML_Template_Parameter_Access; 427 -- Getter of ParameterableElement::owningTemplateParameter. 428 -- 429 -- The formal template parameter that owns this element. 430 431 overriding procedure Set_Owning_Template_Parameter 432 (Self : not null access UML_Extension_End_Proxy; 433 To : AMF.UML.Template_Parameters.UML_Template_Parameter_Access); 434 -- Setter of ParameterableElement::owningTemplateParameter. 435 -- 436 -- The formal template parameter that owns this element. 437 438 overriding function Get_Template_Parameter 439 (Self : not null access constant UML_Extension_End_Proxy) 440 return AMF.UML.Template_Parameters.UML_Template_Parameter_Access; 441 -- Getter of ParameterableElement::templateParameter. 442 -- 443 -- The template parameter that exposes this element as a formal parameter. 444 445 overriding procedure Set_Template_Parameter 446 (Self : not null access UML_Extension_End_Proxy; 447 To : AMF.UML.Template_Parameters.UML_Template_Parameter_Access); 448 -- Setter of ParameterableElement::templateParameter. 449 -- 450 -- The template parameter that exposes this element as a formal parameter. 451 452 overriding function Get_Deployed_Element 453 (Self : not null access constant UML_Extension_End_Proxy) 454 return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element; 455 -- Getter of DeploymentTarget::deployedElement. 456 -- 457 -- The set of elements that are manifested in an Artifact that is involved 458 -- in Deployment to a DeploymentTarget. 459 460 overriding function Get_Deployment 461 (Self : not null access constant UML_Extension_End_Proxy) 462 return AMF.UML.Deployments.Collections.Set_Of_UML_Deployment; 463 -- Getter of DeploymentTarget::deployment. 464 -- 465 -- The set of Deployments for a DeploymentTarget. 466 467 overriding function Get_Featuring_Classifier 468 (Self : not null access constant UML_Extension_End_Proxy) 469 return AMF.UML.Classifiers.Collections.Set_Of_UML_Classifier; 470 -- Getter of Feature::featuringClassifier. 471 -- 472 -- The Classifiers that have this Feature as a feature. 473 474 overriding function Get_Is_Static 475 (Self : not null access constant UML_Extension_End_Proxy) 476 return Boolean; 477 -- Getter of Feature::isStatic. 478 -- 479 -- Specifies whether this feature characterizes individual instances 480 -- classified by the classifier (false) or the classifier itself (true). 481 482 overriding procedure Set_Is_Static 483 (Self : not null access UML_Extension_End_Proxy; 484 To : Boolean); 485 -- Setter of Feature::isStatic. 486 -- 487 -- Specifies whether this feature characterizes individual instances 488 -- classified by the classifier (false) or the classifier itself (true). 489 490 overriding function Get_Is_Leaf 491 (Self : not null access constant UML_Extension_End_Proxy) 492 return Boolean; 493 -- Getter of RedefinableElement::isLeaf. 494 -- 495 -- Indicates whether it is possible to further redefine a 496 -- RedefinableElement. If the value is true, then it is not possible to 497 -- further redefine the RedefinableElement. Note that this property is 498 -- preserved through package merge operations; that is, the capability to 499 -- redefine a RedefinableElement (i.e., isLeaf=false) must be preserved in 500 -- the resulting RedefinableElement of a package merge operation where a 501 -- RedefinableElement with isLeaf=false is merged with a matching 502 -- RedefinableElement with isLeaf=true: the resulting RedefinableElement 503 -- will have isLeaf=false. Default value is false. 504 505 overriding procedure Set_Is_Leaf 506 (Self : not null access UML_Extension_End_Proxy; 507 To : Boolean); 508 -- Setter of RedefinableElement::isLeaf. 509 -- 510 -- Indicates whether it is possible to further redefine a 511 -- RedefinableElement. If the value is true, then it is not possible to 512 -- further redefine the RedefinableElement. Note that this property is 513 -- preserved through package merge operations; that is, the capability to 514 -- redefine a RedefinableElement (i.e., isLeaf=false) must be preserved in 515 -- the resulting RedefinableElement of a package merge operation where a 516 -- RedefinableElement with isLeaf=false is merged with a matching 517 -- RedefinableElement with isLeaf=true: the resulting RedefinableElement 518 -- will have isLeaf=false. Default value is false. 519 520 overriding function Get_Redefined_Element 521 (Self : not null access constant UML_Extension_End_Proxy) 522 return AMF.UML.Redefinable_Elements.Collections.Set_Of_UML_Redefinable_Element; 523 -- Getter of RedefinableElement::redefinedElement. 524 -- 525 -- The redefinable element that is being redefined by this element. 526 527 overriding function Get_Redefinition_Context 528 (Self : not null access constant UML_Extension_End_Proxy) 529 return AMF.UML.Classifiers.Collections.Set_Of_UML_Classifier; 530 -- Getter of RedefinableElement::redefinitionContext. 531 -- 532 -- References the contexts that this element may be redefined from. 533 534 overriding function Lower_Bound 535 (Self : not null access constant UML_Extension_End_Proxy) 536 return AMF.Optional_Integer; 537 -- Operation ExtensionEnd::lowerBound. 538 -- 539 -- The query lowerBound() returns the lower bound of the multiplicity as 540 -- an Integer. This is a redefinition of the default lower bound, which 541 -- normally, for MultiplicityElements, evaluates to 1 if empty. 542 543 overriding function Default 544 (Self : not null access constant UML_Extension_End_Proxy) 545 return AMF.Optional_String; 546 -- Operation Property::default. 547 -- 548 -- Missing derivation for Property::/default : String 549 550 overriding function Is_Attribute 551 (Self : not null access constant UML_Extension_End_Proxy; 552 P : AMF.UML.Properties.UML_Property_Access) 553 return Boolean; 554 -- Operation Property::isAttribute. 555 -- 556 -- The query isAttribute() is true if the Property is defined as an 557 -- attribute of some classifier. 558 559 overriding function Is_Compatible_With 560 (Self : not null access constant UML_Extension_End_Proxy; 561 P : AMF.UML.Parameterable_Elements.UML_Parameterable_Element_Access) 562 return Boolean; 563 -- Operation Property::isCompatibleWith. 564 -- 565 -- The query isCompatibleWith() determines if this parameterable element 566 -- is compatible with the specified parameterable element. By default 567 -- parameterable element P is compatible with parameterable element Q if 568 -- the kind of P is the same or a subtype as the kind of Q. In addition, 569 -- for properties, the type must be conformant with the type of the 570 -- specified parameterable element. 571 572 overriding function Is_Composite 573 (Self : not null access constant UML_Extension_End_Proxy) 574 return Boolean; 575 -- Operation Property::isComposite. 576 -- 577 -- The value of isComposite is true only if aggregation is composite. 578 579 overriding function Is_Consistent_With 580 (Self : not null access constant UML_Extension_End_Proxy; 581 Redefinee : AMF.UML.Redefinable_Elements.UML_Redefinable_Element_Access) 582 return Boolean; 583 -- Operation Property::isConsistentWith. 584 -- 585 -- The query isConsistentWith() specifies, for any two Properties in a 586 -- context in which redefinition is possible, whether redefinition would 587 -- be logically consistent. A redefining property is consistent with a 588 -- redefined property if the type of the redefining property conforms to 589 -- the type of the redefined property, the multiplicity of the redefining 590 -- property (if specified) is contained in the multiplicity of the 591 -- redefined property. 592 -- The query isConsistentWith() specifies, for any two Properties in a 593 -- context in which redefinition is possible, whether redefinition would 594 -- be logically consistent. A redefining property is consistent with a 595 -- redefined property if the type of the redefining property conforms to 596 -- the type of the redefined property, and the multiplicity of the 597 -- redefining property (if specified) is contained in the multiplicity of 598 -- the redefined property. 599 600 overriding function Is_Navigable 601 (Self : not null access constant UML_Extension_End_Proxy) 602 return Boolean; 603 -- Operation Property::isNavigable. 604 -- 605 -- The query isNavigable() indicates whether it is possible to navigate 606 -- across the property. 607 608 overriding function Opposite 609 (Self : not null access constant UML_Extension_End_Proxy) 610 return AMF.UML.Properties.UML_Property_Access; 611 -- Operation Property::opposite. 612 -- 613 -- If this property is owned by a class, associated with a binary 614 -- association, and the other end of the association is also owned by a 615 -- class, then opposite gives the other end. 616 617 overriding function Subsetting_Context 618 (Self : not null access constant UML_Extension_End_Proxy) 619 return AMF.UML.Types.Collections.Set_Of_UML_Type; 620 -- Operation Property::subsettingContext. 621 -- 622 -- The query subsettingContext() gives the context for subsetting a 623 -- property. It consists, in the case of an attribute, of the 624 -- corresponding classifier, and in the case of an association end, all of 625 -- the classifiers at the other ends. 626 627 overriding function Ends 628 (Self : not null access constant UML_Extension_End_Proxy) 629 return AMF.UML.Connector_Ends.Collections.Set_Of_UML_Connector_End; 630 -- Operation ConnectableElement::end. 631 -- 632 -- Missing derivation for ConnectableElement::/end : ConnectorEnd 633 634 overriding function All_Owning_Packages 635 (Self : not null access constant UML_Extension_End_Proxy) 636 return AMF.UML.Packages.Collections.Set_Of_UML_Package; 637 -- Operation NamedElement::allOwningPackages. 638 -- 639 -- The query allOwningPackages() returns all the directly or indirectly 640 -- owning packages. 641 642 overriding function Is_Distinguishable_From 643 (Self : not null access constant UML_Extension_End_Proxy; 644 N : AMF.UML.Named_Elements.UML_Named_Element_Access; 645 Ns : AMF.UML.Namespaces.UML_Namespace_Access) 646 return Boolean; 647 -- Operation NamedElement::isDistinguishableFrom. 648 -- 649 -- The query isDistinguishableFrom() determines whether two NamedElements 650 -- may logically co-exist within a Namespace. By default, two named 651 -- elements are distinguishable if (a) they have unrelated types or (b) 652 -- they have related types but different names. 653 654 overriding function Namespace 655 (Self : not null access constant UML_Extension_End_Proxy) 656 return AMF.UML.Namespaces.UML_Namespace_Access; 657 -- Operation NamedElement::namespace. 658 -- 659 -- Missing derivation for NamedElement::/namespace : Namespace 660 661 overriding function Is_Template_Parameter 662 (Self : not null access constant UML_Extension_End_Proxy) 663 return Boolean; 664 -- Operation ParameterableElement::isTemplateParameter. 665 -- 666 -- The query isTemplateParameter() determines if this parameterable 667 -- element is exposed as a formal template parameter. 668 669 overriding function Deployed_Element 670 (Self : not null access constant UML_Extension_End_Proxy) 671 return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element; 672 -- Operation DeploymentTarget::deployedElement. 673 -- 674 -- Missing derivation for DeploymentTarget::/deployedElement : 675 -- PackageableElement 676 677 overriding function Compatible_With 678 (Self : not null access constant UML_Extension_End_Proxy; 679 Other : AMF.UML.Multiplicity_Elements.UML_Multiplicity_Element_Access) 680 return Boolean; 681 -- Operation MultiplicityElement::compatibleWith. 682 -- 683 -- The operation compatibleWith takes another multiplicity as input. It 684 -- checks if one multiplicity is compatible with another. 685 686 overriding function Includes_Cardinality 687 (Self : not null access constant UML_Extension_End_Proxy; 688 C : Integer) 689 return Boolean; 690 -- Operation MultiplicityElement::includesCardinality. 691 -- 692 -- The query includesCardinality() checks whether the specified 693 -- cardinality is valid for this multiplicity. 694 695 overriding function Includes_Multiplicity 696 (Self : not null access constant UML_Extension_End_Proxy; 697 M : AMF.UML.Multiplicity_Elements.UML_Multiplicity_Element_Access) 698 return Boolean; 699 -- Operation MultiplicityElement::includesMultiplicity. 700 -- 701 -- The query includesMultiplicity() checks whether this multiplicity 702 -- includes all the cardinalities allowed by the specified multiplicity. 703 704 overriding function Iss 705 (Self : not null access constant UML_Extension_End_Proxy; 706 Lowerbound : Integer; 707 Upperbound : Integer) 708 return Boolean; 709 -- Operation MultiplicityElement::is. 710 -- 711 -- The operation is determines if the upper and lower bound of the ranges 712 -- are the ones given. 713 714 overriding function Is_Redefinition_Context_Valid 715 (Self : not null access constant UML_Extension_End_Proxy; 716 Redefined : AMF.UML.Redefinable_Elements.UML_Redefinable_Element_Access) 717 return Boolean; 718 -- Operation RedefinableElement::isRedefinitionContextValid. 719 -- 720 -- The query isRedefinitionContextValid() specifies whether the 721 -- redefinition contexts of this RedefinableElement are properly related 722 -- to the redefinition contexts of the specified RedefinableElement to 723 -- allow this element to redefine the other. By default at least one of 724 -- the redefinition contexts of this element must be a specialization of 725 -- at least one of the redefinition contexts of the specified element. 726 727 overriding procedure Enter_Element 728 (Self : not null access constant UML_Extension_End_Proxy; 729 Visitor : in out AMF.Visitors.Abstract_Visitor'Class; 730 Control : in out AMF.Visitors.Traverse_Control); 731 -- Dispatch call to corresponding subprogram of visitor interface. 732 733 overriding procedure Leave_Element 734 (Self : not null access constant UML_Extension_End_Proxy; 735 Visitor : in out AMF.Visitors.Abstract_Visitor'Class; 736 Control : in out AMF.Visitors.Traverse_Control); 737 -- Dispatch call to corresponding subprogram of visitor interface. 738 739 overriding procedure Visit_Element 740 (Self : not null access constant UML_Extension_End_Proxy; 741 Iterator : in out AMF.Visitors.Abstract_Iterator'Class; 742 Visitor : in out AMF.Visitors.Abstract_Visitor'Class; 743 Control : in out AMF.Visitors.Traverse_Control); 744 -- Dispatch call to corresponding subprogram of iterator interface. 745 746end AMF.Internals.UML_Extension_Ends; 747