setNsPrefix(eNS_PREFIX);
setNsURI(eNS_URI);
// Obtain other dependent packages
BasePackage theBasePackage = (BasePackage)EPackage.Registry.INSTANCE.getEPackage(BasePackage.eNS_URI);
SectorPackage theSectorPackage = (SectorPackage)EPackage.Registry.INSTANCE.getEPackage(SectorPackage.eNS_URI);
// Create type parameters
// Set bounds for type parameters
// Add supertypes to classes
planetEClass.getESuperTypes().add(this.getCelestialBody());
planetarySystemEClass.getESuperTypes().add(this.getCelestialBody());
starEClass.getESuperTypes().add(this.getCelestialBody());
celestialBodyEClass.getESuperTypes().add(theBasePackage.getAbstractNamedEntity());
asteroidBeltEClass.getESuperTypes().add(this.getCelestialBody());
moonEClass.getESuperTypes().add(this.getCelestialBody());
nebulaEClass.getESuperTypes().add(theBasePackage.getAbstractNamedEntity());
// Initialize classes and features; add operations and parameters
initEClass(planetEClass, Planet.class, "Planet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getPlanet_Moons(), this.getMoon(), null, "moons", null, 0, -1, Planet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(planetarySystemEClass, PlanetarySystem.class, "PlanetarySystem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getPlanetarySystem_Stars(), this.getStar(), null, "stars", null, 1, -1, PlanetarySystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getPlanetarySystem_Planets(), this.getPlanet(), null, "planets", null, 0, -1, PlanetarySystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getPlanetarySystem_AsteroidBelts(), this.getAsteroidBelt(), null, "asteroidBelts", null, 0, -1, PlanetarySystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getPlanetarySystem_Nebulas(), this.getNebula(), null, "nebulas", null, 0, -1, PlanetarySystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(starEClass, Star.class, "Star", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(celestialBodyEClass, CelestialBody.class, "CelestialBody", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getCelestialBody_Radius(), ecorePackage.getEFloat(), "radius", null, 0, 1, CelestialBody.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getCelestialBody_Sectors(), theSectorPackage.getSector(), null, "sectors", null, 0, -1, CelestialBody.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(asteroidBeltEClass, AsteroidBelt.class, "AsteroidBelt", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(moonEClass, Moon.class, "Moon", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);