protected EEnum createEEnum(Diagram diagram, String enumName) { EEnum newEnum = EcoreFactory.eINSTANCE.createEEnum(); newEnum.setName(enumName); diagram.eResource().getContents().add(newEnum); return newEnum; }
private EPackage createDynamicEPackage() { final EcoreFactory efactory = EcoreFactory.eINSTANCE; final EcorePackage epackage = EcorePackage.eINSTANCE; // Create a new EPackage and add the new EClasses EPackage topPackage = efactory.createEPackage(); topPackage.setName("toppackage"); topPackage.setNsPrefix("toppackage"); topPackage.setNsURI("http:///www.elver.org/toppackage"); EPackage subPackage1 = efactory.createEPackage(); subPackage1.setName("subPackage1"); subPackage1.setNsPrefix("subPackage1"); subPackage1.setNsURI("http:///www.elver.org/subPackage1"); { EClass schoolBookEClass = efactory.createEClass(); schoolBookEClass.setName("class1"); // create a new attribute for this EClass EAttribute level = efactory.createEAttribute(); level.setName("level"); level.setEType(epackage.getEInt()); schoolBookEClass.getEStructuralFeatures().add(level); subPackage1.getEClassifiers().add(schoolBookEClass); } { EEnum schoolBookEClass = efactory.createEEnum(); schoolBookEClass.setName("enum"); subPackage1.getEClassifiers().add(schoolBookEClass); } { EClass schoolBookEClass = efactory.createEClass(); schoolBookEClass.setName("class2"); // create a new attribute for this EClass subPackage1.getEClassifiers().add(schoolBookEClass); } { EClass schoolBookEClass = efactory.createEClass(); schoolBookEClass.setName("class3"); // create a new attribute for this EClass EAttribute level = efactory.createEAttribute(); level.setName("level"); level.setEType(epackage.getEInt()); schoolBookEClass.getEStructuralFeatures().add(level); subPackage1.getEClassifiers().add(schoolBookEClass); } EPackage subPackage2 = efactory.createEPackage(); subPackage2.setName("subPackage2"); subPackage2.setNsPrefix("subPackage2"); subPackage2.setNsURI("http:///www.elver.org/subPackage2"); topPackage.getESubpackages().add(subPackage1); return topPackage; }