EClass userClass = EcoreFactory.eINSTANCE.createEClass(); userClass.setName("User"); EAttribute nameAttr = EcoreFactory.eINSTANCE.createEAttribute(); nameAttr.setName("name"); nameAttr.setEType(EcorePackage.eINSTANCE.getEString()); userClass.getEStructuralFeatures().add(nameAttr); EPackage userPackage = EcoreFactory.eINSTANCE.createEPackage(); userPackage.setName("com.example.user"); userPackage.getEClassifiers().add(userClass); String genModelPath = "path/to/genmodel"; GenModel genModel = GenModelFactory.eINSTANCE.createGenModel(); genModel.initialize(Collections.singleton(userPackage)); ResourceSet resourceSet = new ResourceSetImpl(); Resource genModelResource = resourceSet.getResource(URI.createURI(genModelPath), true); genModelResource.getContents().add(genModel); GenPackage genPackage = (GenPackage) genModel.getGenPackages().get(0); GenClass userGenClass = (GenClass) genPackage.getGenClassifiers().get(0); GenModelGenerator generator = new GenModelGenerator(); generator.setInput(genModel); generator.generate(); User user = UserFactory.eINSTANCE.createUser(); user.setName("John"); String serializedUser = EcoreUtil.toXML(user); User deserializedUser = (User) EcoreUtil.loadXML(serializedUser);


上一篇:
下一篇:
切换中文