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: 2937 $ $Date: 2012-05-01 21:07:27 +0400 (Tue, 01 May 2012) $ 43------------------------------------------------------------------------------ 44with AMF.Internals.UML_Classifiers; 45with AMF.String_Collections; 46with AMF.UML.Artifacts.Collections; 47with AMF.UML.Classifier_Template_Parameters; 48with AMF.UML.Classifiers.Collections; 49with AMF.UML.Collaboration_Uses.Collections; 50with AMF.UML.Constraints.Collections; 51with AMF.UML.Dependencies.Collections; 52with AMF.UML.Deployment_Specifications; 53with AMF.UML.Deployments; 54with AMF.UML.Element_Imports.Collections; 55with AMF.UML.Features.Collections; 56with AMF.UML.Generalization_Sets.Collections; 57with AMF.UML.Generalizations.Collections; 58with AMF.UML.Manifestations.Collections; 59with AMF.UML.Named_Elements.Collections; 60with AMF.UML.Namespaces; 61with AMF.UML.Operations.Collections; 62with AMF.UML.Package_Imports.Collections; 63with AMF.UML.Packageable_Elements.Collections; 64with AMF.UML.Packages.Collections; 65with AMF.UML.Parameterable_Elements.Collections; 66with AMF.UML.Properties.Collections; 67with AMF.UML.Redefinable_Elements.Collections; 68with AMF.UML.Redefinable_Template_Signatures; 69with AMF.UML.String_Expressions; 70with AMF.UML.Substitutions.Collections; 71with AMF.UML.Template_Bindings.Collections; 72with AMF.UML.Template_Parameters; 73with AMF.UML.Template_Signatures; 74with AMF.UML.Types; 75with AMF.UML.Use_Cases.Collections; 76with AMF.Visitors; 77 78package AMF.Internals.UML_Deployment_Specifications is 79 80 type UML_Deployment_Specification_Proxy is 81 limited new AMF.Internals.UML_Classifiers.UML_Classifier_Proxy 82 and AMF.UML.Deployment_Specifications.UML_Deployment_Specification with null record; 83 84 overriding function Get_Deployment 85 (Self : not null access constant UML_Deployment_Specification_Proxy) 86 return AMF.UML.Deployments.UML_Deployment_Access; 87 -- Getter of DeploymentSpecification::deployment. 88 -- 89 -- The deployment with which the DeploymentSpecification is associated. 90 91 overriding procedure Set_Deployment 92 (Self : not null access UML_Deployment_Specification_Proxy; 93 To : AMF.UML.Deployments.UML_Deployment_Access); 94 -- Setter of DeploymentSpecification::deployment. 95 -- 96 -- The deployment with which the DeploymentSpecification is associated. 97 98 overriding function Get_Deployment_Location 99 (Self : not null access constant UML_Deployment_Specification_Proxy) 100 return AMF.Optional_String; 101 -- Getter of DeploymentSpecification::deploymentLocation. 102 -- 103 -- The location where an Artifact is deployed onto a Node. This is 104 -- typically a 'directory' or 'memory address'. 105 106 overriding procedure Set_Deployment_Location 107 (Self : not null access UML_Deployment_Specification_Proxy; 108 To : AMF.Optional_String); 109 -- Setter of DeploymentSpecification::deploymentLocation. 110 -- 111 -- The location where an Artifact is deployed onto a Node. This is 112 -- typically a 'directory' or 'memory address'. 113 114 overriding function Get_Execution_Location 115 (Self : not null access constant UML_Deployment_Specification_Proxy) 116 return AMF.Optional_String; 117 -- Getter of DeploymentSpecification::executionLocation. 118 -- 119 -- The location where a component Artifact executes. This may be a local 120 -- or remote location. 121 122 overriding procedure Set_Execution_Location 123 (Self : not null access UML_Deployment_Specification_Proxy; 124 To : AMF.Optional_String); 125 -- Setter of DeploymentSpecification::executionLocation. 126 -- 127 -- The location where a component Artifact executes. This may be a local 128 -- or remote location. 129 130 overriding function Get_File_Name 131 (Self : not null access constant UML_Deployment_Specification_Proxy) 132 return AMF.Optional_String; 133 -- Getter of Artifact::fileName. 134 -- 135 -- A concrete name that is used to refer to the Artifact in a physical 136 -- context. Example: file system name, universal resource locator. 137 138 overriding procedure Set_File_Name 139 (Self : not null access UML_Deployment_Specification_Proxy; 140 To : AMF.Optional_String); 141 -- Setter of Artifact::fileName. 142 -- 143 -- A concrete name that is used to refer to the Artifact in a physical 144 -- context. Example: file system name, universal resource locator. 145 146 overriding function Get_Manifestation 147 (Self : not null access constant UML_Deployment_Specification_Proxy) 148 return AMF.UML.Manifestations.Collections.Set_Of_UML_Manifestation; 149 -- Getter of Artifact::manifestation. 150 -- 151 -- The set of model elements that are manifested in the Artifact. That is, 152 -- these model elements are utilized in the construction (or generation) 153 -- of the artifact. 154 155 overriding function Get_Nested_Artifact 156 (Self : not null access constant UML_Deployment_Specification_Proxy) 157 return AMF.UML.Artifacts.Collections.Set_Of_UML_Artifact; 158 -- Getter of Artifact::nestedArtifact. 159 -- 160 -- The Artifacts that are defined (nested) within the Artifact. The 161 -- association is a specialization of the ownedMember association from 162 -- Namespace to NamedElement. 163 164 overriding function Get_Owned_Attribute 165 (Self : not null access constant UML_Deployment_Specification_Proxy) 166 return AMF.UML.Properties.Collections.Ordered_Set_Of_UML_Property; 167 -- Getter of Artifact::ownedAttribute. 168 -- 169 -- The attributes or association ends defined for the Artifact. The 170 -- association is a specialization of the ownedMember association. 171 172 overriding function Get_Owned_Operation 173 (Self : not null access constant UML_Deployment_Specification_Proxy) 174 return AMF.UML.Operations.Collections.Ordered_Set_Of_UML_Operation; 175 -- Getter of Artifact::ownedOperation. 176 -- 177 -- The Operations defined for the Artifact. The association is a 178 -- specialization of the ownedMember association. 179 180 overriding function Get_Attribute 181 (Self : not null access constant UML_Deployment_Specification_Proxy) 182 return AMF.UML.Properties.Collections.Set_Of_UML_Property; 183 -- Getter of Classifier::attribute. 184 -- 185 -- Refers to all of the Properties that are direct (i.e. not inherited or 186 -- imported) attributes of the classifier. 187 188 overriding function Get_Collaboration_Use 189 (Self : not null access constant UML_Deployment_Specification_Proxy) 190 return AMF.UML.Collaboration_Uses.Collections.Set_Of_UML_Collaboration_Use; 191 -- Getter of Classifier::collaborationUse. 192 -- 193 -- References the collaboration uses owned by the classifier. 194 195 overriding function Get_Feature 196 (Self : not null access constant UML_Deployment_Specification_Proxy) 197 return AMF.UML.Features.Collections.Set_Of_UML_Feature; 198 -- Getter of Classifier::feature. 199 -- 200 -- Specifies each feature defined in the classifier. 201 -- Note that there may be members of the Classifier that are of the type 202 -- Feature but are not included in this association, e.g. inherited 203 -- features. 204 205 overriding function Get_General 206 (Self : not null access constant UML_Deployment_Specification_Proxy) 207 return AMF.UML.Classifiers.Collections.Set_Of_UML_Classifier; 208 -- Getter of Classifier::general. 209 -- 210 -- Specifies the general Classifiers for this Classifier. 211 -- References the general classifier in the Generalization relationship. 212 213 overriding function Get_Generalization 214 (Self : not null access constant UML_Deployment_Specification_Proxy) 215 return AMF.UML.Generalizations.Collections.Set_Of_UML_Generalization; 216 -- Getter of Classifier::generalization. 217 -- 218 -- Specifies the Generalization relationships for this Classifier. These 219 -- Generalizations navigaten to more general classifiers in the 220 -- generalization hierarchy. 221 222 overriding function Get_Inherited_Member 223 (Self : not null access constant UML_Deployment_Specification_Proxy) 224 return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element; 225 -- Getter of Classifier::inheritedMember. 226 -- 227 -- Specifies all elements inherited by this classifier from the general 228 -- classifiers. 229 230 overriding function Get_Is_Abstract 231 (Self : not null access constant UML_Deployment_Specification_Proxy) 232 return Boolean; 233 -- Getter of Classifier::isAbstract. 234 -- 235 -- If true, the Classifier does not provide a complete declaration and can 236 -- typically not be instantiated. An abstract classifier is intended to be 237 -- used by other classifiers e.g. as the target of general 238 -- metarelationships or generalization relationships. 239 240 overriding function Get_Is_Final_Specialization 241 (Self : not null access constant UML_Deployment_Specification_Proxy) 242 return Boolean; 243 -- Getter of Classifier::isFinalSpecialization. 244 -- 245 -- If true, the Classifier cannot be specialized by generalization. Note 246 -- that this property is preserved through package merge operations; that 247 -- is, the capability to specialize a Classifier (i.e., 248 -- isFinalSpecialization =false) must be preserved in the resulting 249 -- Classifier of a package merge operation where a Classifier with 250 -- isFinalSpecialization =false is merged with a matching Classifier with 251 -- isFinalSpecialization =true: the resulting Classifier will have 252 -- isFinalSpecialization =false. 253 254 overriding procedure Set_Is_Final_Specialization 255 (Self : not null access UML_Deployment_Specification_Proxy; 256 To : Boolean); 257 -- Setter of Classifier::isFinalSpecialization. 258 -- 259 -- If true, the Classifier cannot be specialized by generalization. Note 260 -- that this property is preserved through package merge operations; that 261 -- is, the capability to specialize a Classifier (i.e., 262 -- isFinalSpecialization =false) must be preserved in the resulting 263 -- Classifier of a package merge operation where a Classifier with 264 -- isFinalSpecialization =false is merged with a matching Classifier with 265 -- isFinalSpecialization =true: the resulting Classifier will have 266 -- isFinalSpecialization =false. 267 268 overriding function Get_Owned_Template_Signature 269 (Self : not null access constant UML_Deployment_Specification_Proxy) 270 return AMF.UML.Redefinable_Template_Signatures.UML_Redefinable_Template_Signature_Access; 271 -- Getter of Classifier::ownedTemplateSignature. 272 -- 273 -- The optional template signature specifying the formal template 274 -- parameters. 275 276 overriding procedure Set_Owned_Template_Signature 277 (Self : not null access UML_Deployment_Specification_Proxy; 278 To : AMF.UML.Redefinable_Template_Signatures.UML_Redefinable_Template_Signature_Access); 279 -- Setter of Classifier::ownedTemplateSignature. 280 -- 281 -- The optional template signature specifying the formal template 282 -- parameters. 283 284 overriding function Get_Owned_Use_Case 285 (Self : not null access constant UML_Deployment_Specification_Proxy) 286 return AMF.UML.Use_Cases.Collections.Set_Of_UML_Use_Case; 287 -- Getter of Classifier::ownedUseCase. 288 -- 289 -- References the use cases owned by this classifier. 290 291 overriding function Get_Powertype_Extent 292 (Self : not null access constant UML_Deployment_Specification_Proxy) 293 return AMF.UML.Generalization_Sets.Collections.Set_Of_UML_Generalization_Set; 294 -- Getter of Classifier::powertypeExtent. 295 -- 296 -- Designates the GeneralizationSet of which the associated Classifier is 297 -- a power type. 298 299 overriding function Get_Redefined_Classifier 300 (Self : not null access constant UML_Deployment_Specification_Proxy) 301 return AMF.UML.Classifiers.Collections.Set_Of_UML_Classifier; 302 -- Getter of Classifier::redefinedClassifier. 303 -- 304 -- References the Classifiers that are redefined by this Classifier. 305 306 overriding function Get_Representation 307 (Self : not null access constant UML_Deployment_Specification_Proxy) 308 return AMF.UML.Collaboration_Uses.UML_Collaboration_Use_Access; 309 -- Getter of Classifier::representation. 310 -- 311 -- References a collaboration use which indicates the collaboration that 312 -- represents this classifier. 313 314 overriding procedure Set_Representation 315 (Self : not null access UML_Deployment_Specification_Proxy; 316 To : AMF.UML.Collaboration_Uses.UML_Collaboration_Use_Access); 317 -- Setter of Classifier::representation. 318 -- 319 -- References a collaboration use which indicates the collaboration that 320 -- represents this classifier. 321 322 overriding function Get_Substitution 323 (Self : not null access constant UML_Deployment_Specification_Proxy) 324 return AMF.UML.Substitutions.Collections.Set_Of_UML_Substitution; 325 -- Getter of Classifier::substitution. 326 -- 327 -- References the substitutions that are owned by this Classifier. 328 329 overriding function Get_Template_Parameter 330 (Self : not null access constant UML_Deployment_Specification_Proxy) 331 return AMF.UML.Classifier_Template_Parameters.UML_Classifier_Template_Parameter_Access; 332 -- Getter of Classifier::templateParameter. 333 -- 334 -- The template parameter that exposes this element as a formal parameter. 335 336 overriding procedure Set_Template_Parameter 337 (Self : not null access UML_Deployment_Specification_Proxy; 338 To : AMF.UML.Classifier_Template_Parameters.UML_Classifier_Template_Parameter_Access); 339 -- Setter of Classifier::templateParameter. 340 -- 341 -- The template parameter that exposes this element as a formal parameter. 342 343 overriding function Get_Use_Case 344 (Self : not null access constant UML_Deployment_Specification_Proxy) 345 return AMF.UML.Use_Cases.Collections.Set_Of_UML_Use_Case; 346 -- Getter of Classifier::useCase. 347 -- 348 -- The set of use cases for which this Classifier is the subject. 349 350 overriding function Get_Element_Import 351 (Self : not null access constant UML_Deployment_Specification_Proxy) 352 return AMF.UML.Element_Imports.Collections.Set_Of_UML_Element_Import; 353 -- Getter of Namespace::elementImport. 354 -- 355 -- References the ElementImports owned by the Namespace. 356 357 overriding function Get_Imported_Member 358 (Self : not null access constant UML_Deployment_Specification_Proxy) 359 return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element; 360 -- Getter of Namespace::importedMember. 361 -- 362 -- References the PackageableElements that are members of this Namespace 363 -- as a result of either PackageImports or ElementImports. 364 365 overriding function Get_Member 366 (Self : not null access constant UML_Deployment_Specification_Proxy) 367 return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element; 368 -- Getter of Namespace::member. 369 -- 370 -- A collection of NamedElements identifiable within the Namespace, either 371 -- by being owned or by being introduced by importing or inheritance. 372 373 overriding function Get_Owned_Member 374 (Self : not null access constant UML_Deployment_Specification_Proxy) 375 return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element; 376 -- Getter of Namespace::ownedMember. 377 -- 378 -- A collection of NamedElements owned by the Namespace. 379 380 overriding function Get_Owned_Rule 381 (Self : not null access constant UML_Deployment_Specification_Proxy) 382 return AMF.UML.Constraints.Collections.Set_Of_UML_Constraint; 383 -- Getter of Namespace::ownedRule. 384 -- 385 -- Specifies a set of Constraints owned by this Namespace. 386 387 overriding function Get_Package_Import 388 (Self : not null access constant UML_Deployment_Specification_Proxy) 389 return AMF.UML.Package_Imports.Collections.Set_Of_UML_Package_Import; 390 -- Getter of Namespace::packageImport. 391 -- 392 -- References the PackageImports owned by the Namespace. 393 394 overriding function Get_Client_Dependency 395 (Self : not null access constant UML_Deployment_Specification_Proxy) 396 return AMF.UML.Dependencies.Collections.Set_Of_UML_Dependency; 397 -- Getter of NamedElement::clientDependency. 398 -- 399 -- Indicates the dependencies that reference the client. 400 401 overriding function Get_Name_Expression 402 (Self : not null access constant UML_Deployment_Specification_Proxy) 403 return AMF.UML.String_Expressions.UML_String_Expression_Access; 404 -- Getter of NamedElement::nameExpression. 405 -- 406 -- The string expression used to define the name of this named element. 407 408 overriding procedure Set_Name_Expression 409 (Self : not null access UML_Deployment_Specification_Proxy; 410 To : AMF.UML.String_Expressions.UML_String_Expression_Access); 411 -- Setter of NamedElement::nameExpression. 412 -- 413 -- The string expression used to define the name of this named element. 414 415 overriding function Get_Namespace 416 (Self : not null access constant UML_Deployment_Specification_Proxy) 417 return AMF.UML.Namespaces.UML_Namespace_Access; 418 -- Getter of NamedElement::namespace. 419 -- 420 -- Specifies the namespace that owns the NamedElement. 421 422 overriding function Get_Qualified_Name 423 (Self : not null access constant UML_Deployment_Specification_Proxy) 424 return AMF.Optional_String; 425 -- Getter of NamedElement::qualifiedName. 426 -- 427 -- A name which allows the NamedElement to be identified within a 428 -- hierarchy of nested Namespaces. It is constructed from the names of the 429 -- containing namespaces starting at the root of the hierarchy and ending 430 -- with the name of the NamedElement itself. 431 432 overriding function Get_Package 433 (Self : not null access constant UML_Deployment_Specification_Proxy) 434 return AMF.UML.Packages.UML_Package_Access; 435 -- Getter of Type::package. 436 -- 437 -- Specifies the owning package of this classifier, if any. 438 439 overriding procedure Set_Package 440 (Self : not null access UML_Deployment_Specification_Proxy; 441 To : AMF.UML.Packages.UML_Package_Access); 442 -- Setter of Type::package. 443 -- 444 -- Specifies the owning package of this classifier, if any. 445 446 overriding function Get_Owning_Template_Parameter 447 (Self : not null access constant UML_Deployment_Specification_Proxy) 448 return AMF.UML.Template_Parameters.UML_Template_Parameter_Access; 449 -- Getter of ParameterableElement::owningTemplateParameter. 450 -- 451 -- The formal template parameter that owns this element. 452 453 overriding procedure Set_Owning_Template_Parameter 454 (Self : not null access UML_Deployment_Specification_Proxy; 455 To : AMF.UML.Template_Parameters.UML_Template_Parameter_Access); 456 -- Setter of ParameterableElement::owningTemplateParameter. 457 -- 458 -- The formal template parameter that owns this element. 459 460 overriding function Get_Template_Parameter 461 (Self : not null access constant UML_Deployment_Specification_Proxy) 462 return AMF.UML.Template_Parameters.UML_Template_Parameter_Access; 463 -- Getter of ParameterableElement::templateParameter. 464 -- 465 -- The template parameter that exposes this element as a formal parameter. 466 467 overriding procedure Set_Template_Parameter 468 (Self : not null access UML_Deployment_Specification_Proxy; 469 To : AMF.UML.Template_Parameters.UML_Template_Parameter_Access); 470 -- Setter of ParameterableElement::templateParameter. 471 -- 472 -- The template parameter that exposes this element as a formal parameter. 473 474 overriding function Get_Owned_Template_Signature 475 (Self : not null access constant UML_Deployment_Specification_Proxy) 476 return AMF.UML.Template_Signatures.UML_Template_Signature_Access; 477 -- Getter of TemplateableElement::ownedTemplateSignature. 478 -- 479 -- The optional template signature specifying the formal template 480 -- parameters. 481 482 overriding procedure Set_Owned_Template_Signature 483 (Self : not null access UML_Deployment_Specification_Proxy; 484 To : AMF.UML.Template_Signatures.UML_Template_Signature_Access); 485 -- Setter of TemplateableElement::ownedTemplateSignature. 486 -- 487 -- The optional template signature specifying the formal template 488 -- parameters. 489 490 overriding function Get_Template_Binding 491 (Self : not null access constant UML_Deployment_Specification_Proxy) 492 return AMF.UML.Template_Bindings.Collections.Set_Of_UML_Template_Binding; 493 -- Getter of TemplateableElement::templateBinding. 494 -- 495 -- The optional bindings from this element to templates. 496 497 overriding function Get_Is_Leaf 498 (Self : not null access constant UML_Deployment_Specification_Proxy) 499 return Boolean; 500 -- Getter of RedefinableElement::isLeaf. 501 -- 502 -- Indicates whether it is possible to further redefine a 503 -- RedefinableElement. If the value is true, then it is not possible to 504 -- further redefine the RedefinableElement. Note that this property is 505 -- preserved through package merge operations; that is, the capability to 506 -- redefine a RedefinableElement (i.e., isLeaf=false) must be preserved in 507 -- the resulting RedefinableElement of a package merge operation where a 508 -- RedefinableElement with isLeaf=false is merged with a matching 509 -- RedefinableElement with isLeaf=true: the resulting RedefinableElement 510 -- will have isLeaf=false. Default value is false. 511 512 overriding procedure Set_Is_Leaf 513 (Self : not null access UML_Deployment_Specification_Proxy; 514 To : Boolean); 515 -- Setter of RedefinableElement::isLeaf. 516 -- 517 -- Indicates whether it is possible to further redefine a 518 -- RedefinableElement. If the value is true, then it is not possible to 519 -- further redefine the RedefinableElement. Note that this property is 520 -- preserved through package merge operations; that is, the capability to 521 -- redefine a RedefinableElement (i.e., isLeaf=false) must be preserved in 522 -- the resulting RedefinableElement of a package merge operation where a 523 -- RedefinableElement with isLeaf=false is merged with a matching 524 -- RedefinableElement with isLeaf=true: the resulting RedefinableElement 525 -- will have isLeaf=false. Default value is false. 526 527 overriding function Get_Redefined_Element 528 (Self : not null access constant UML_Deployment_Specification_Proxy) 529 return AMF.UML.Redefinable_Elements.Collections.Set_Of_UML_Redefinable_Element; 530 -- Getter of RedefinableElement::redefinedElement. 531 -- 532 -- The redefinable element that is being redefined by this element. 533 534 overriding function Get_Redefinition_Context 535 (Self : not null access constant UML_Deployment_Specification_Proxy) 536 return AMF.UML.Classifiers.Collections.Set_Of_UML_Classifier; 537 -- Getter of RedefinableElement::redefinitionContext. 538 -- 539 -- References the contexts that this element may be redefined from. 540 541 overriding function All_Features 542 (Self : not null access constant UML_Deployment_Specification_Proxy) 543 return AMF.UML.Features.Collections.Set_Of_UML_Feature; 544 -- Operation Classifier::allFeatures. 545 -- 546 -- The query allFeatures() gives all of the features in the namespace of 547 -- the classifier. In general, through mechanisms such as inheritance, 548 -- this will be a larger set than feature. 549 550 overriding function Conforms_To 551 (Self : not null access constant UML_Deployment_Specification_Proxy; 552 Other : AMF.UML.Classifiers.UML_Classifier_Access) 553 return Boolean; 554 -- Operation Classifier::conformsTo. 555 -- 556 -- The query conformsTo() gives true for a classifier that defines a type 557 -- that conforms to another. This is used, for example, in the 558 -- specification of signature conformance for operations. 559 560 overriding function General 561 (Self : not null access constant UML_Deployment_Specification_Proxy) 562 return AMF.UML.Classifiers.Collections.Set_Of_UML_Classifier; 563 -- Operation Classifier::general. 564 -- 565 -- The general classifiers are the classifiers referenced by the 566 -- generalization relationships. 567 568 overriding function Has_Visibility_Of 569 (Self : not null access constant UML_Deployment_Specification_Proxy; 570 N : AMF.UML.Named_Elements.UML_Named_Element_Access) 571 return Boolean; 572 -- Operation Classifier::hasVisibilityOf. 573 -- 574 -- The query hasVisibilityOf() determines whether a named element is 575 -- visible in the classifier. By default all are visible. It is only 576 -- called when the argument is something owned by a parent. 577 578 overriding function Inherit 579 (Self : not null access constant UML_Deployment_Specification_Proxy; 580 Inhs : AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element) 581 return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element; 582 -- Operation Classifier::inherit. 583 -- 584 -- The query inherit() defines how to inherit a set of elements. Here the 585 -- operation is defined to inherit them all. It is intended to be 586 -- redefined in circumstances where inheritance is affected by 587 -- redefinition. 588 -- The inherit operation is overridden to exclude redefined properties. 589 590 overriding function Inheritable_Members 591 (Self : not null access constant UML_Deployment_Specification_Proxy; 592 C : AMF.UML.Classifiers.UML_Classifier_Access) 593 return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element; 594 -- Operation Classifier::inheritableMembers. 595 -- 596 -- The query inheritableMembers() gives all of the members of a classifier 597 -- that may be inherited in one of its descendants, subject to whatever 598 -- visibility restrictions apply. 599 600 overriding function Inherited_Member 601 (Self : not null access constant UML_Deployment_Specification_Proxy) 602 return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element; 603 -- Operation Classifier::inheritedMember. 604 -- 605 -- The inheritedMember association is derived by inheriting the 606 -- inheritable members of the parents. 607 -- The inheritedMember association is derived by inheriting the 608 -- inheritable members of the parents. 609 610 overriding function Is_Template 611 (Self : not null access constant UML_Deployment_Specification_Proxy) 612 return Boolean; 613 -- Operation Classifier::isTemplate. 614 -- 615 -- The query isTemplate() returns whether this templateable element is 616 -- actually a template. 617 618 overriding function May_Specialize_Type 619 (Self : not null access constant UML_Deployment_Specification_Proxy; 620 C : AMF.UML.Classifiers.UML_Classifier_Access) 621 return Boolean; 622 -- Operation Classifier::maySpecializeType. 623 -- 624 -- The query maySpecializeType() determines whether this classifier may 625 -- have a generalization relationship to classifiers of the specified 626 -- type. By default a classifier may specialize classifiers of the same or 627 -- a more general type. It is intended to be redefined by classifiers that 628 -- have different specialization constraints. 629 630 overriding function Exclude_Collisions 631 (Self : not null access constant UML_Deployment_Specification_Proxy; 632 Imps : AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element) 633 return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element; 634 -- Operation Namespace::excludeCollisions. 635 -- 636 -- The query excludeCollisions() excludes from a set of 637 -- PackageableElements any that would not be distinguishable from each 638 -- other in this namespace. 639 640 overriding function Get_Names_Of_Member 641 (Self : not null access constant UML_Deployment_Specification_Proxy; 642 Element : AMF.UML.Named_Elements.UML_Named_Element_Access) 643 return AMF.String_Collections.Set_Of_String; 644 -- Operation Namespace::getNamesOfMember. 645 -- 646 -- The query getNamesOfMember() takes importing into account. It gives 647 -- back the set of names that an element would have in an importing 648 -- namespace, either because it is owned, or if not owned then imported 649 -- individually, or if not individually then from a package. 650 -- The query getNamesOfMember() gives a set of all of the names that a 651 -- member would have in a Namespace. In general a member can have multiple 652 -- names in a Namespace if it is imported more than once with different 653 -- aliases. The query takes account of importing. It gives back the set of 654 -- names that an element would have in an importing namespace, either 655 -- because it is owned, or if not owned then imported individually, or if 656 -- not individually then from a package. 657 658 overriding function Import_Members 659 (Self : not null access constant UML_Deployment_Specification_Proxy; 660 Imps : AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element) 661 return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element; 662 -- Operation Namespace::importMembers. 663 -- 664 -- The query importMembers() defines which of a set of PackageableElements 665 -- are actually imported into the namespace. This excludes hidden ones, 666 -- i.e., those which have names that conflict with names of owned members, 667 -- and also excludes elements which would have the same name when imported. 668 669 overriding function Imported_Member 670 (Self : not null access constant UML_Deployment_Specification_Proxy) 671 return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element; 672 -- Operation Namespace::importedMember. 673 -- 674 -- The importedMember property is derived from the ElementImports and the 675 -- PackageImports. References the PackageableElements that are members of 676 -- this Namespace as a result of either PackageImports or ElementImports. 677 678 overriding function Members_Are_Distinguishable 679 (Self : not null access constant UML_Deployment_Specification_Proxy) 680 return Boolean; 681 -- Operation Namespace::membersAreDistinguishable. 682 -- 683 -- The Boolean query membersAreDistinguishable() determines whether all of 684 -- the namespace's members are distinguishable within it. 685 686 overriding function Owned_Member 687 (Self : not null access constant UML_Deployment_Specification_Proxy) 688 return AMF.UML.Named_Elements.Collections.Set_Of_UML_Named_Element; 689 -- Operation Namespace::ownedMember. 690 -- 691 -- Missing derivation for Namespace::/ownedMember : NamedElement 692 693 overriding function All_Owning_Packages 694 (Self : not null access constant UML_Deployment_Specification_Proxy) 695 return AMF.UML.Packages.Collections.Set_Of_UML_Package; 696 -- Operation NamedElement::allOwningPackages. 697 -- 698 -- The query allOwningPackages() returns all the directly or indirectly 699 -- owning packages. 700 701 overriding function Is_Distinguishable_From 702 (Self : not null access constant UML_Deployment_Specification_Proxy; 703 N : AMF.UML.Named_Elements.UML_Named_Element_Access; 704 Ns : AMF.UML.Namespaces.UML_Namespace_Access) 705 return Boolean; 706 -- Operation NamedElement::isDistinguishableFrom. 707 -- 708 -- The query isDistinguishableFrom() determines whether two NamedElements 709 -- may logically co-exist within a Namespace. By default, two named 710 -- elements are distinguishable if (a) they have unrelated types or (b) 711 -- they have related types but different names. 712 713 overriding function Namespace 714 (Self : not null access constant UML_Deployment_Specification_Proxy) 715 return AMF.UML.Namespaces.UML_Namespace_Access; 716 -- Operation NamedElement::namespace. 717 -- 718 -- Missing derivation for NamedElement::/namespace : Namespace 719 720 overriding function Conforms_To 721 (Self : not null access constant UML_Deployment_Specification_Proxy; 722 Other : AMF.UML.Types.UML_Type_Access) 723 return Boolean; 724 -- Operation Type::conformsTo. 725 -- 726 -- The query conformsTo() gives true for a type that conforms to another. 727 -- By default, two types do not conform to each other. This query is 728 -- intended to be redefined for specific conformance situations. 729 730 overriding function Is_Compatible_With 731 (Self : not null access constant UML_Deployment_Specification_Proxy; 732 P : AMF.UML.Parameterable_Elements.UML_Parameterable_Element_Access) 733 return Boolean; 734 -- Operation ParameterableElement::isCompatibleWith. 735 -- 736 -- The query isCompatibleWith() determines if this parameterable element 737 -- is compatible with the specified parameterable element. By default 738 -- parameterable element P is compatible with parameterable element Q if 739 -- the kind of P is the same or a subtype as the kind of Q. Subclasses 740 -- should override this operation to specify different compatibility 741 -- constraints. 742 743 overriding function Is_Template_Parameter 744 (Self : not null access constant UML_Deployment_Specification_Proxy) 745 return Boolean; 746 -- Operation ParameterableElement::isTemplateParameter. 747 -- 748 -- The query isTemplateParameter() determines if this parameterable 749 -- element is exposed as a formal template parameter. 750 751 overriding function Parameterable_Elements 752 (Self : not null access constant UML_Deployment_Specification_Proxy) 753 return AMF.UML.Parameterable_Elements.Collections.Set_Of_UML_Parameterable_Element; 754 -- Operation TemplateableElement::parameterableElements. 755 -- 756 -- The query parameterableElements() returns the set of elements that may 757 -- be used as the parametered elements for a template parameter of this 758 -- templateable element. By default, this set includes all the owned 759 -- elements. Subclasses may override this operation if they choose to 760 -- restrict the set of parameterable elements. 761 762 overriding function Is_Consistent_With 763 (Self : not null access constant UML_Deployment_Specification_Proxy; 764 Redefinee : AMF.UML.Redefinable_Elements.UML_Redefinable_Element_Access) 765 return Boolean; 766 -- Operation RedefinableElement::isConsistentWith. 767 -- 768 -- The query isConsistentWith() specifies, for any two RedefinableElements 769 -- in a context in which redefinition is possible, whether redefinition 770 -- would be logically consistent. By default, this is false; this 771 -- operation must be overridden for subclasses of RedefinableElement to 772 -- define the consistency conditions. 773 774 overriding function Is_Redefinition_Context_Valid 775 (Self : not null access constant UML_Deployment_Specification_Proxy; 776 Redefined : AMF.UML.Redefinable_Elements.UML_Redefinable_Element_Access) 777 return Boolean; 778 -- Operation RedefinableElement::isRedefinitionContextValid. 779 -- 780 -- The query isRedefinitionContextValid() specifies whether the 781 -- redefinition contexts of this RedefinableElement are properly related 782 -- to the redefinition contexts of the specified RedefinableElement to 783 -- allow this element to redefine the other. By default at least one of 784 -- the redefinition contexts of this element must be a specialization of 785 -- at least one of the redefinition contexts of the specified element. 786 787 overriding procedure Enter_Element 788 (Self : not null access constant UML_Deployment_Specification_Proxy; 789 Visitor : in out AMF.Visitors.Abstract_Visitor'Class; 790 Control : in out AMF.Visitors.Traverse_Control); 791 -- Dispatch call to corresponding subprogram of visitor interface. 792 793 overriding procedure Leave_Element 794 (Self : not null access constant UML_Deployment_Specification_Proxy; 795 Visitor : in out AMF.Visitors.Abstract_Visitor'Class; 796 Control : in out AMF.Visitors.Traverse_Control); 797 -- Dispatch call to corresponding subprogram of visitor interface. 798 799 overriding procedure Visit_Element 800 (Self : not null access constant UML_Deployment_Specification_Proxy; 801 Iterator : in out AMF.Visitors.Abstract_Iterator'Class; 802 Visitor : in out AMF.Visitors.Abstract_Visitor'Class; 803 Control : in out AMF.Visitors.Traverse_Control); 804 -- Dispatch call to corresponding subprogram of iterator interface. 805 806end AMF.Internals.UML_Deployment_Specifications; 807