1------------------------------------------------------------------------------ 2-- -- 3-- Matreshka Project -- 4-- -- 5-- Ada Modeling Framework -- 6-- -- 7-- Runtime Library Component -- 8-- -- 9------------------------------------------------------------------------------ 10-- -- 11-- Copyright © 2011, 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: 2324 $ $Date: 2011-12-03 13:24:03 +0400 (Sat, 03 Dec 2011) $ 43------------------------------------------------------------------------------ 44-- This file is generated, don't edit it. 45------------------------------------------------------------------------------ 46-- A property is a structural feature of a classifier that characterizes 47-- instances of the classifier. A property related by ownedAttribute to a 48-- classifier (other than an association) represents an attribute and might 49-- also represent an association end. It relates an instance of the class to 50-- a value or set of values of the type of the attribute. A property related 51-- by memberEnd or its specializations to an association represents an end of 52-- the association. The type of the property is the type of the end of the 53-- association. 54------------------------------------------------------------------------------ 55limited with AMF.CMOF.Associations; 56limited with AMF.CMOF.Classes; 57limited with AMF.CMOF.Classifiers.Collections; 58limited with AMF.CMOF.Data_Types; 59limited with AMF.CMOF.Properties.Collections; 60limited with AMF.CMOF.Redefinable_Elements; 61with AMF.CMOF.Structural_Features; 62 63package AMF.CMOF.Properties is 64 65 pragma Preelaborate; 66 67 type CMOF_Property is limited interface 68 and AMF.CMOF.Structural_Features.CMOF_Structural_Feature; 69 70 type CMOF_Property_Access is 71 access all CMOF_Property'Class; 72 for CMOF_Property_Access'Storage_Size use 0; 73 74 not overriding function Get_Is_Read_Only 75 (Self : not null access constant CMOF_Property) 76 return Boolean is abstract; 77 -- Getter of Property::isReadOnly. 78 -- 79 -- If isReadOnly is true, the attribute may not be written to after 80 -- initialization. 81 82 not overriding procedure Set_Is_Read_Only 83 (Self : not null access CMOF_Property; 84 To : Boolean) is abstract; 85 -- Setter of Property::isReadOnly. 86 -- 87 -- If isReadOnly is true, the attribute may not be written to after 88 -- initialization. 89 90 not overriding function Get_Default 91 (Self : not null access constant CMOF_Property) 92 return AMF.Optional_String is abstract; 93 -- Getter of Property::default. 94 -- 95 -- Specifies a String that represents a value to be used when no argument 96 -- is supplied for the Property. 97 98 not overriding procedure Set_Default 99 (Self : not null access CMOF_Property; 100 To : AMF.Optional_String) is abstract; 101 -- Setter of Property::default. 102 -- 103 -- Specifies a String that represents a value to be used when no argument 104 -- is supplied for the Property. 105 106 not overriding function Get_Is_Composite 107 (Self : not null access constant CMOF_Property) 108 return Boolean is abstract; 109 -- Getter of Property::isComposite. 110 -- 111 -- If isComposite is true, the object containing the attribute is a 112 -- container for the object or value contained in the attribute. 113 114 not overriding procedure Set_Is_Composite 115 (Self : not null access CMOF_Property; 116 To : Boolean) is abstract; 117 -- Setter of Property::isComposite. 118 -- 119 -- If isComposite is true, the object containing the attribute is a 120 -- container for the object or value contained in the attribute. 121 122 not overriding function Get_Is_Derived 123 (Self : not null access constant CMOF_Property) 124 return Boolean is abstract; 125 -- Getter of Property::isDerived. 126 -- 127 -- If isDerived is true, the value of the attribute is derived from 128 -- information elsewhere. 129 130 not overriding procedure Set_Is_Derived 131 (Self : not null access CMOF_Property; 132 To : Boolean) is abstract; 133 -- Setter of Property::isDerived. 134 -- 135 -- If isDerived is true, the value of the attribute is derived from 136 -- information elsewhere. 137 138 not overriding function Get_Is_Derived_Union 139 (Self : not null access constant CMOF_Property) 140 return Boolean is abstract; 141 -- Getter of Property::isDerivedUnion. 142 -- 143 -- Specifies whether the property is derived as the union of all of the 144 -- properties that are constrained to subset it. 145 146 not overriding procedure Set_Is_Derived_Union 147 (Self : not null access CMOF_Property; 148 To : Boolean) is abstract; 149 -- Setter of Property::isDerivedUnion. 150 -- 151 -- Specifies whether the property is derived as the union of all of the 152 -- properties that are constrained to subset it. 153 154 not overriding function Get_Class 155 (Self : not null access constant CMOF_Property) 156 return AMF.CMOF.Classes.CMOF_Class_Access is abstract; 157 -- Getter of Property::class. 158 -- 159 -- References the Class that owns the Property. 160 161 not overriding procedure Set_Class 162 (Self : not null access CMOF_Property; 163 To : AMF.CMOF.Classes.CMOF_Class_Access) is abstract; 164 -- Setter of Property::class. 165 -- 166 -- References the Class that owns the Property. 167 168 not overriding function Get_Owning_Association 169 (Self : not null access constant CMOF_Property) 170 return AMF.CMOF.Associations.CMOF_Association_Access is abstract; 171 -- Getter of Property::owningAssociation. 172 -- 173 -- References the owning association of this property, if any. 174 175 not overriding procedure Set_Owning_Association 176 (Self : not null access CMOF_Property; 177 To : AMF.CMOF.Associations.CMOF_Association_Access) is abstract; 178 -- Setter of Property::owningAssociation. 179 -- 180 -- References the owning association of this property, if any. 181 182 not overriding function Get_Redefined_Property 183 (Self : not null access constant CMOF_Property) 184 return AMF.CMOF.Properties.Collections.Set_Of_CMOF_Property is abstract; 185 -- Getter of Property::redefinedProperty. 186 -- 187 -- References the properties that are redefined by this property. 188 189 not overriding function Get_Subsetted_Property 190 (Self : not null access constant CMOF_Property) 191 return AMF.CMOF.Properties.Collections.Set_Of_CMOF_Property is abstract; 192 -- Getter of Property::subsettedProperty. 193 -- 194 -- References the properties of which this property is constrained to be a 195 -- subset. 196 197 not overriding function Get_Opposite 198 (Self : not null access constant CMOF_Property) 199 return AMF.CMOF.Properties.CMOF_Property_Access is abstract; 200 -- Getter of Property::opposite. 201 -- 202 -- In the case where the property is one navigable end of a binary 203 -- association with both ends navigable, this gives the other end. 204 205 not overriding procedure Set_Opposite 206 (Self : not null access CMOF_Property; 207 To : AMF.CMOF.Properties.CMOF_Property_Access) is abstract; 208 -- Setter of Property::opposite. 209 -- 210 -- In the case where the property is one navigable end of a binary 211 -- association with both ends navigable, this gives the other end. 212 213 not overriding function Get_Datatype 214 (Self : not null access constant CMOF_Property) 215 return AMF.CMOF.Data_Types.CMOF_Data_Type_Access is abstract; 216 -- Getter of Property::datatype. 217 -- 218 -- The DataType that owns this Property. 219 220 not overriding procedure Set_Datatype 221 (Self : not null access CMOF_Property; 222 To : AMF.CMOF.Data_Types.CMOF_Data_Type_Access) is abstract; 223 -- Setter of Property::datatype. 224 -- 225 -- The DataType that owns this Property. 226 227 not overriding function Get_Association 228 (Self : not null access constant CMOF_Property) 229 return AMF.CMOF.Associations.CMOF_Association_Access is abstract; 230 -- Getter of Property::association. 231 -- 232 -- References the association of which this property is a member, if any. 233 234 not overriding procedure Set_Association 235 (Self : not null access CMOF_Property; 236 To : AMF.CMOF.Associations.CMOF_Association_Access) is abstract; 237 -- Setter of Property::association. 238 -- 239 -- References the association of which this property is a member, if any. 240 241 not overriding function Opposite 242 (Self : not null access constant CMOF_Property) 243 return AMF.CMOF.Properties.CMOF_Property_Access is abstract; 244 -- Operation Property::opposite. 245 -- 246 -- If this property is owned by a class, associated with a binary 247 -- association, and the other end of the association is also owned by a 248 -- class, then opposite gives the other end. 249 250 overriding function Is_Consistent_With 251 (Self : not null access constant CMOF_Property; 252 Redefinee : AMF.CMOF.Redefinable_Elements.CMOF_Redefinable_Element_Access) 253 return Boolean is abstract; 254 -- Operation Property::isConsistentWith. 255 -- 256 -- The query isConsistentWith() specifies, for any two Properties in a 257 -- context in which redefinition is possible, whether redefinition would 258 -- be logically consistent. A redefining property is consistent with a 259 -- redefined property if the type of the redefining property conforms to 260 -- the type of the redefined property, the multiplicity of the redefining 261 -- property (if specified) is contained in the multiplicity of the 262 -- redefined property, and the redefining property is derived if the 263 -- redefined property is derived. 264 265 not overriding function Subsetting_Context 266 (Self : not null access constant CMOF_Property) 267 return AMF.CMOF.Classifiers.Collections.Set_Of_CMOF_Classifier is abstract; 268 -- Operation Property::subsettingContext. 269 -- 270 -- The query subsettingContext() gives the context for subsetting a 271 -- property. It consists, in the case of an attribute, of the 272 -- corresponding classifier, and in the case of an association end, all of 273 -- the classifiers at the other ends. 274 275 not overriding function Is_Navigable 276 (Self : not null access constant CMOF_Property) 277 return Boolean is abstract; 278 -- Operation Property::isNavigable. 279 -- 280 -- The query isNavigable() indicates whether it is possible to navigate 281 -- across the property. 282 283 not overriding function Is_Attribute 284 (Self : not null access constant CMOF_Property; 285 P : AMF.CMOF.Properties.CMOF_Property_Access) 286 return Boolean is abstract; 287 -- Operation Property::isAttribute. 288 -- 289 -- The query isAttribute() is true if the Property is defined as an 290 -- attribute of some classifier. 291 292end AMF.CMOF.Properties; 293