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 package can have one or more profile applications to indicate which 47-- profiles have been applied. Because a profile is a package, it is possible 48-- to apply a profile not only to packages, but also to profiles. 49-- 50-- Package specializes TemplateableElement and PackageableElement specializes 51-- ParameterableElement to specify that a package can be used as a template 52-- and a PackageableElement as a template parameter. 53-- 54-- A package is used to group elements, and provides a namespace for the 55-- grouped elements. 56------------------------------------------------------------------------------ 57limited with AMF.UML.Named_Elements; 58with AMF.UML.Namespaces; 59limited with AMF.UML.Package_Merges.Collections; 60with AMF.UML.Packageable_Elements; 61limited with AMF.UML.Packageable_Elements.Collections; 62limited with AMF.UML.Packages.Collections; 63limited with AMF.UML.Profile_Applications.Collections; 64limited with AMF.UML.Profiles; 65limited with AMF.UML.Stereotypes.Collections; 66with AMF.UML.Templateable_Elements; 67limited with AMF.UML.Types.Collections; 68 69package AMF.UML.Packages is 70 71 pragma Preelaborate; 72 73 type UML_Package is limited interface 74 and AMF.UML.Namespaces.UML_Namespace 75 and AMF.UML.Packageable_Elements.UML_Packageable_Element 76 and AMF.UML.Templateable_Elements.UML_Templateable_Element; 77 78 type UML_Package_Access is 79 access all UML_Package'Class; 80 for UML_Package_Access'Storage_Size use 0; 81 82 not overriding function Get_URI 83 (Self : not null access constant UML_Package) 84 return AMF.Optional_String is abstract; 85 -- Getter of Package::URI. 86 -- 87 -- Provides an identifier for the package that can be used for many 88 -- purposes. A URI is the universally unique identification of the package 89 -- following the IETF URI specification, RFC 2396 90 -- http://www.ietf.org/rfc/rfc2396.txt and it must comply with those 91 -- syntax rules. 92 93 not overriding procedure Set_URI 94 (Self : not null access UML_Package; 95 To : AMF.Optional_String) is abstract; 96 -- Setter of Package::URI. 97 -- 98 -- Provides an identifier for the package that can be used for many 99 -- purposes. A URI is the universally unique identification of the package 100 -- following the IETF URI specification, RFC 2396 101 -- http://www.ietf.org/rfc/rfc2396.txt and it must comply with those 102 -- syntax rules. 103 104 not overriding function Get_Nested_Package 105 (Self : not null access constant UML_Package) 106 return AMF.UML.Packages.Collections.Set_Of_UML_Package is abstract; 107 -- Getter of Package::nestedPackage. 108 -- 109 -- References the packaged elements that are Packages. 110 111 not overriding function Get_Nesting_Package 112 (Self : not null access constant UML_Package) 113 return AMF.UML.Packages.UML_Package_Access is abstract; 114 -- Getter of Package::nestingPackage. 115 -- 116 -- References the Package that owns this Package. 117 118 not overriding procedure Set_Nesting_Package 119 (Self : not null access UML_Package; 120 To : AMF.UML.Packages.UML_Package_Access) is abstract; 121 -- Setter of Package::nestingPackage. 122 -- 123 -- References the Package that owns this Package. 124 125 not overriding function Get_Owned_Stereotype 126 (Self : not null access constant UML_Package) 127 return AMF.UML.Stereotypes.Collections.Set_Of_UML_Stereotype is abstract; 128 -- Getter of Package::ownedStereotype. 129 -- 130 -- References the Stereotypes that are owned by the Package 131 132 not overriding function Get_Owned_Type 133 (Self : not null access constant UML_Package) 134 return AMF.UML.Types.Collections.Set_Of_UML_Type is abstract; 135 -- Getter of Package::ownedType. 136 -- 137 -- References the packaged elements that are Types. 138 139 not overriding function Get_Package_Merge 140 (Self : not null access constant UML_Package) 141 return AMF.UML.Package_Merges.Collections.Set_Of_UML_Package_Merge is abstract; 142 -- Getter of Package::packageMerge. 143 -- 144 -- References the PackageMerges that are owned by this Package. 145 146 not overriding function Get_Packaged_Element 147 (Self : not null access constant UML_Package) 148 return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element is abstract; 149 -- Getter of Package::packagedElement. 150 -- 151 -- Specifies the packageable elements that are owned by this Package. 152 153 not overriding function Get_Profile_Application 154 (Self : not null access constant UML_Package) 155 return AMF.UML.Profile_Applications.Collections.Set_Of_UML_Profile_Application is abstract; 156 -- Getter of Package::profileApplication. 157 -- 158 -- References the ProfileApplications that indicate which profiles have 159 -- been applied to the Package. 160 161 not overriding function All_Applicable_Stereotypes 162 (Self : not null access constant UML_Package) 163 return AMF.UML.Stereotypes.Collections.Set_Of_UML_Stereotype is abstract; 164 -- Operation Package::allApplicableStereotypes. 165 -- 166 -- The query allApplicableStereotypes() returns all the directly or 167 -- indirectly owned stereotypes, including stereotypes contained in 168 -- sub-profiles. 169 170 not overriding function Containing_Profile 171 (Self : not null access constant UML_Package) 172 return AMF.UML.Profiles.UML_Profile_Access is abstract; 173 -- Operation Package::containingProfile. 174 -- 175 -- The query containingProfile() returns the closest profile directly or 176 -- indirectly containing this package (or this package itself, if it is a 177 -- profile). 178 179 not overriding function Makes_Visible 180 (Self : not null access constant UML_Package; 181 El : AMF.UML.Named_Elements.UML_Named_Element_Access) 182 return Boolean is abstract; 183 -- Operation Package::makesVisible. 184 -- 185 -- The query makesVisible() defines whether a Package makes an element 186 -- visible outside itself. Elements with no visibility and elements with 187 -- public visibility are made visible. 188 189 overriding function Must_Be_Owned 190 (Self : not null access constant UML_Package) 191 return Boolean is abstract; 192 -- Operation Package::mustBeOwned. 193 -- 194 -- The query mustBeOwned() indicates whether elements of this type must 195 -- have an owner. 196 197 not overriding function Nested_Package 198 (Self : not null access constant UML_Package) 199 return AMF.UML.Packages.Collections.Set_Of_UML_Package is abstract; 200 -- Operation Package::nestedPackage. 201 -- 202 -- Missing derivation for Package::/nestedPackage : Package 203 204 not overriding function Owned_Stereotype 205 (Self : not null access constant UML_Package) 206 return AMF.UML.Stereotypes.Collections.Set_Of_UML_Stereotype is abstract; 207 -- Operation Package::ownedStereotype. 208 -- 209 -- Missing derivation for Package::/ownedStereotype : Stereotype 210 211 not overriding function Owned_Type 212 (Self : not null access constant UML_Package) 213 return AMF.UML.Types.Collections.Set_Of_UML_Type is abstract; 214 -- Operation Package::ownedType. 215 -- 216 -- Missing derivation for Package::/ownedType : Type 217 218 not overriding function Visible_Members 219 (Self : not null access constant UML_Package) 220 return AMF.UML.Packageable_Elements.Collections.Set_Of_UML_Packageable_Element is abstract; 221 -- Operation Package::visibleMembers. 222 -- 223 -- The query visibleMembers() defines which members of a Package can be 224 -- accessed outside it. 225 226end AMF.UML.Packages; 227