001/** 002 */ 003package org.nasdanika.rag.model.impl; 004 005import org.eclipse.emf.ecore.EAttribute; 006import org.eclipse.emf.ecore.EClass; 007import org.eclipse.emf.ecore.EPackage; 008import org.eclipse.emf.ecore.EReference; 009 010import org.eclipse.emf.ecore.impl.EPackageImpl; 011 012import org.nasdanika.ncore.NcorePackage; 013 014import org.nasdanika.rag.model.DoubleVectorStringItem; 015import org.nasdanika.rag.model.DoubleVectorStringStore; 016import org.nasdanika.rag.model.FloatVectorStringItem; 017import org.nasdanika.rag.model.FloatVectorStringStore; 018import org.nasdanika.rag.model.RagFactory; 019import org.nasdanika.rag.model.RagPackage; 020 021/** 022 * <!-- begin-user-doc --> 023 * An implementation of the model <b>Package</b>. 024 * <!-- end-user-doc --> 025 * @generated 026 */ 027public class RagPackageImpl extends EPackageImpl implements RagPackage { 028 /** 029 * <!-- begin-user-doc --> 030 * <!-- end-user-doc --> 031 * @generated 032 */ 033 private EClass doubleVectorStringItemEClass = null; 034 035 /** 036 * <!-- begin-user-doc --> 037 * <!-- end-user-doc --> 038 * @generated 039 */ 040 private EClass doubleVectorStringStoreEClass = null; 041 042 /** 043 * <!-- begin-user-doc --> 044 * <!-- end-user-doc --> 045 * @generated 046 */ 047 private EClass floatVectorStringItemEClass = null; 048 049 /** 050 * <!-- begin-user-doc --> 051 * <!-- end-user-doc --> 052 * @generated 053 */ 054 private EClass floatVectorStringStoreEClass = null; 055 056 /** 057 * Creates an instance of the model <b>Package</b>, registered with 058 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package 059 * package URI value. 060 * <p>Note: the correct way to create the package is via the static 061 * factory method {@link #init init()}, which also performs 062 * initialization of the package, or returns the registered package, 063 * if one already exists. 064 * <!-- begin-user-doc --> 065 * <!-- end-user-doc --> 066 * @see org.eclipse.emf.ecore.EPackage.Registry 067 * @see org.nasdanika.rag.model.RagPackage#eNS_URI 068 * @see #init() 069 * @generated 070 */ 071 private RagPackageImpl() { 072 super(eNS_URI, RagFactory.eINSTANCE); 073 } 074 /** 075 * <!-- begin-user-doc --> 076 * <!-- end-user-doc --> 077 * @generated 078 */ 079 private static boolean isInited = false; 080 081 /** 082 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends. 083 * 084 * <p>This method is used to initialize {@link RagPackage#eINSTANCE} when that field is accessed. 085 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. 086 * <!-- begin-user-doc --> 087 * <!-- end-user-doc --> 088 * @see #eNS_URI 089 * @see #createPackageContents() 090 * @see #initializePackageContents() 091 * @generated 092 */ 093 public static RagPackage init() { 094 if (isInited) return (RagPackage)EPackage.Registry.INSTANCE.getEPackage(RagPackage.eNS_URI); 095 096 // Obtain or create and register package 097 Object registeredRagPackage = EPackage.Registry.INSTANCE.get(eNS_URI); 098 RagPackageImpl theRagPackage = registeredRagPackage instanceof RagPackageImpl ? (RagPackageImpl)registeredRagPackage : new RagPackageImpl(); 099 100 isInited = true; 101 102 // Initialize simple dependencies 103 NcorePackage.eINSTANCE.eClass(); 104 105 // Create package meta-data objects 106 theRagPackage.createPackageContents(); 107 108 // Initialize created meta-data 109 theRagPackage.initializePackageContents(); 110 111 // Mark meta-data to indicate it can't be changed 112 theRagPackage.freeze(); 113 114 // Update the registry and return the package 115 EPackage.Registry.INSTANCE.put(RagPackage.eNS_URI, theRagPackage); 116 return theRagPackage; 117 } 118 119 /** 120 * <!-- begin-user-doc --> 121 * <!-- end-user-doc --> 122 * @generated 123 */ 124 @Override 125 public EClass getDoubleVectorStringItem() { 126 return doubleVectorStringItemEClass; 127 } 128 129 /** 130 * <!-- begin-user-doc --> 131 * <!-- end-user-doc --> 132 * @generated 133 */ 134 @Override 135 public EAttribute getDoubleVectorStringItem_Vector() { 136 return (EAttribute)doubleVectorStringItemEClass.getEStructuralFeatures().get(0); 137 } 138 139 /** 140 * <!-- begin-user-doc --> 141 * <!-- end-user-doc --> 142 * @generated 143 */ 144 @Override 145 public EClass getDoubleVectorStringStore() { 146 return doubleVectorStringStoreEClass; 147 } 148 149 /** 150 * <!-- begin-user-doc --> 151 * <!-- end-user-doc --> 152 * @generated 153 */ 154 @Override 155 public EReference getDoubleVectorStringStore_Items() { 156 return (EReference)doubleVectorStringStoreEClass.getEStructuralFeatures().get(0); 157 } 158 159 /** 160 * <!-- begin-user-doc --> 161 * <!-- end-user-doc --> 162 * @generated 163 */ 164 @Override 165 public EClass getFloatVectorStringItem() { 166 return floatVectorStringItemEClass; 167 } 168 169 /** 170 * <!-- begin-user-doc --> 171 * <!-- end-user-doc --> 172 * @generated 173 */ 174 @Override 175 public EAttribute getFloatVectorStringItem_Vector() { 176 return (EAttribute)floatVectorStringItemEClass.getEStructuralFeatures().get(0); 177 } 178 179 /** 180 * <!-- begin-user-doc --> 181 * <!-- end-user-doc --> 182 * @generated 183 */ 184 @Override 185 public EClass getFloatVectorStringStore() { 186 return floatVectorStringStoreEClass; 187 } 188 189 /** 190 * <!-- begin-user-doc --> 191 * <!-- end-user-doc --> 192 * @generated 193 */ 194 @Override 195 public EReference getFloatVectorStringStore_Items() { 196 return (EReference)floatVectorStringStoreEClass.getEStructuralFeatures().get(0); 197 } 198 199 /** 200 * <!-- begin-user-doc --> 201 * <!-- end-user-doc --> 202 * @generated 203 */ 204 @Override 205 public RagFactory getRagFactory() { 206 return (RagFactory)getEFactoryInstance(); 207 } 208 209 /** 210 * <!-- begin-user-doc --> 211 * <!-- end-user-doc --> 212 * @generated 213 */ 214 private boolean isCreated = false; 215 216 /** 217 * Creates the meta-model objects for the package. This method is 218 * guarded to have no affect on any invocation but its first. 219 * <!-- begin-user-doc --> 220 * <!-- end-user-doc --> 221 * @generated 222 */ 223 public void createPackageContents() { 224 if (isCreated) return; 225 isCreated = true; 226 227 // Create classes and their features 228 doubleVectorStringItemEClass = createEClass(DOUBLE_VECTOR_STRING_ITEM); 229 createEAttribute(doubleVectorStringItemEClass, DOUBLE_VECTOR_STRING_ITEM__VECTOR); 230 231 doubleVectorStringStoreEClass = createEClass(DOUBLE_VECTOR_STRING_STORE); 232 createEReference(doubleVectorStringStoreEClass, DOUBLE_VECTOR_STRING_STORE__ITEMS); 233 234 floatVectorStringItemEClass = createEClass(FLOAT_VECTOR_STRING_ITEM); 235 createEAttribute(floatVectorStringItemEClass, FLOAT_VECTOR_STRING_ITEM__VECTOR); 236 237 floatVectorStringStoreEClass = createEClass(FLOAT_VECTOR_STRING_STORE); 238 createEReference(floatVectorStringStoreEClass, FLOAT_VECTOR_STRING_STORE__ITEMS); 239 } 240 241 /** 242 * <!-- begin-user-doc --> 243 * <!-- end-user-doc --> 244 * @generated 245 */ 246 private boolean isInitialized = false; 247 248 /** 249 * Complete the initialization of the package and its meta-model. This 250 * method is guarded to have no affect on any invocation but its first. 251 * <!-- begin-user-doc --> 252 * <!-- end-user-doc --> 253 * @generated 254 */ 255 public void initializePackageContents() { 256 if (isInitialized) return; 257 isInitialized = true; 258 259 // Initialize package 260 setName(eNAME); 261 setNsPrefix(eNS_PREFIX); 262 setNsURI(eNS_URI); 263 264 // Obtain other dependent packages 265 NcorePackage theNcorePackage = (NcorePackage)EPackage.Registry.INSTANCE.getEPackage(NcorePackage.eNS_URI); 266 267 // Create type parameters 268 269 // Set bounds for type parameters 270 271 // Add supertypes to classes 272 doubleVectorStringItemEClass.getESuperTypes().add(theNcorePackage.getStringIdentity()); 273 floatVectorStringItemEClass.getESuperTypes().add(theNcorePackage.getStringIdentity()); 274 275 // Initialize classes, features, and operations; add parameters 276 initEClass(doubleVectorStringItemEClass, DoubleVectorStringItem.class, "DoubleVectorStringItem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 277 initEAttribute(getDoubleVectorStringItem_Vector(), ecorePackage.getEDouble(), "vector", null, 0, 1, DoubleVectorStringItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 278 279 initEClass(doubleVectorStringStoreEClass, DoubleVectorStringStore.class, "DoubleVectorStringStore", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 280 initEReference(getDoubleVectorStringStore_Items(), this.getDoubleVectorStringItem(), null, "items", null, 0, -1, DoubleVectorStringStore.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 281 282 initEClass(floatVectorStringItemEClass, FloatVectorStringItem.class, "FloatVectorStringItem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 283 initEAttribute(getFloatVectorStringItem_Vector(), ecorePackage.getEFloat(), "vector", null, 0, 1, FloatVectorStringItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 284 285 initEClass(floatVectorStringStoreEClass, FloatVectorStringStore.class, "FloatVectorStringStore", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 286 initEReference(getFloatVectorStringStore_Items(), this.getFloatVectorStringItem(), null, "items", null, 0, -1, FloatVectorStringStore.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 287 288 // Create resource 289 createResource(eNS_URI); 290 291 // Create annotations 292 // http://www.eclipse.org/emf/2002/GenModel 293 createGenModelAnnotations(); 294 } 295 296 /** 297 * Initializes the annotations for <b>http://www.eclipse.org/emf/2002/GenModel</b>. 298 * <!-- begin-user-doc --> 299 * <!-- end-user-doc --> 300 * @generated 301 */ 302 protected void createGenModelAnnotations() { 303 String source = "http://www.eclipse.org/emf/2002/GenModel"; 304 addAnnotation 305 (doubleVectorStringItemEClass, 306 source, 307 new String[] { 308 "documentation", "DoubleVectorStringStore item - a mapping of String id to a double vector." 309 }); 310 addAnnotation 311 (getDoubleVectorStringItem_Vector(), 312 source, 313 new String[] { 314 "documentation", "Vector elements" 315 }); 316 addAnnotation 317 (doubleVectorStringStoreEClass, 318 source, 319 new String[] { 320 "documentation", "Stores double vectors identified by strrings (URI\'s)" 321 }); 322 addAnnotation 323 (getDoubleVectorStringStore_Items(), 324 source, 325 new String[] { 326 "documentation", "Store items" 327 }); 328 addAnnotation 329 (floatVectorStringItemEClass, 330 source, 331 new String[] { 332 "documentation", "FloatVectorStringStore item - a mapping of String id to a float vector." 333 }); 334 addAnnotation 335 (getFloatVectorStringItem_Vector(), 336 source, 337 new String[] { 338 "documentation", "Vector elements" 339 }); 340 addAnnotation 341 (floatVectorStringStoreEClass, 342 source, 343 new String[] { 344 "documentation", "Stores float vectors identified by strrings (URI\'s)" 345 }); 346 addAnnotation 347 (getFloatVectorStringStore_Items(), 348 source, 349 new String[] { 350 "documentation", "Store items" 351 }); 352 } 353 354} //RagPackageImpl