public VirtualFile generate(VirtualFile basedir) throws DatabaseException { GenModel genModel = GenModelFactory.eINSTANCE.createGenModel(); genModel.setRuntimeVersion(GenRuntimeVersion.EMF25); genModel.setComplianceLevel(GenJDKLevel.JDK60_LITERAL); genModel.setFeatureDelegation(GenDelegationKind.REFLECTIVE_LITERAL); genModel.setRootExtendsClass("org.bimserver.emf.IdEObjectImpl"); genModel.setRootExtendsInterface("org.bimserver.emf.IdEObject"); genModel.setSuppressContainment(true); genModel.setCodeFormatting(true); genModel.setCopyrightText(StringUtils.readFromFile(new File("copyright.txt"))); genModel.setCanGenerate(true); genModel.setModelDirectory("test"); genModel.setModelName("model name"); genModel.setForceOverwrite(true); genModel.setSuppressNotification(false); genModel.setContainmentProxies(false); genModel.setBinaryCompatibleReflectiveMethods(false); genModel.setPublicConstructors(false); genModel.setMinimalReflectiveMethods(true); // More code, but faster genModel.setUpdateClasspath(false); genModel.initialize(schema.getEPackages());
public void generatePackages(GenModel genModel, List<GenPackage> genPackages, VirtualFile basedir) { for (GenPackage genPackage : genPackages) { genPackage.prepareCache(); genModel.setImportManager(new ImportManager("org.bimserver.models")); String packageClassPathImpl = MODEL_PACKAGE + genPackage.getPackageName() + ".impl."; packageClassPathImpl = packageClassPathImpl.replace(".", File.separator) + genPackage.getPackageClassName() + ".java"; VirtualFile packageVirtualFileImpl = basedir.createFile(packageClassPathImpl); packageVirtualFileImpl.setStringContent(new PackageClass().generate(new Object[] { genPackage, false, true })); genModel.setImportManager(new ImportManager("org.bimserver.models")); String packageClassPathInterface = MODEL_PACKAGE + genPackage.getPackageName() + "."; packageClassPathInterface = packageClassPathInterface.replace(".", File.separator) + genPackage.getPackageInterfaceName() + ".java"; VirtualFile packageVirtualFileInterface = basedir.createFile(packageClassPathInterface); packageVirtualFileInterface.setStringContent(new PackageClass().generate(new Object[] { genPackage, true, false })); genModel.setImportManager(new ImportManager("org.bimserver.models")); String factoryClassPathImpl = MODEL_PACKAGE + genPackage.getPackageName() + ".impl."; factoryClassPathImpl = factoryClassPathImpl.replace(".", File.separator) + genPackage.getFactoryClassName() + ".java"; VirtualFile factoryVirtualFileImpl = basedir.createFile(factoryClassPathImpl); factoryVirtualFileImpl.setStringContent(new FactoryClass().generate(new Object[] { genPackage, false, true })); genModel.setImportManager(new ImportManager("org.bimserver.models")); String factoryClassPathInterface = MODEL_PACKAGE + genPackage.getPackageName() + "."; factoryClassPathInterface = factoryClassPathInterface.replace(".", File.separator) + genPackage.getFactoryInterfaceName() + ".java"; VirtualFile factoryVirtualFileInterface = basedir.createFile(factoryClassPathInterface);
private void updateImportManager() { if (generatingObject != null) { ((GenBase)generatingObject).getGenModel().setImportManager(importManager); } }
resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("ecore", new EcoreResourceFactoryImpl()); Map<VirtualFile, Resource> resources = new HashMap<VirtualFile, Resource>(); genModel.initialize(schema.getEPackages()); for (GenPackage genPackage : genModel.getGenPackages()) { genPackage.setBasePackage("org.bimserver.models"); return genModel.getGenPackages();
protected String getEffectiveMapType(GenClass context, GenClass genClass) { String mapType = getEffectiveMapType(); if (getEffectiveComplianceLevel().getValue() >= GenJDKLevel.JDK50) { String keyType = genClass.getMapEntryKeyFeature().getType(context); String valueType = genClass.getMapEntryValueFeature().getType(context); mapType += "<" + keyType + ", " + valueType + ">"; } return mapType; }
public String getQualifiedOperationAccessor() { if (getGenModel().isOperationReflection()) { return getGenPackage().isLiteralsInterface() ? getGenPackage().getImportedPackageInterfaceName() + ".Literals." + getGenClass().getOperationID(this, false) : getQualifiedOperationAccessorName() + "()"; } else { return getGenClass().getQualifiedClassifierAccessor() + ".getEOperations().get(" + getGenClass().getLocalOperationIndex(this) + ")"; } }
public static String getFeatureLiteral(final GenFeature genFeature, final ResourceSet resourceSet) { boolean _isLiteralsInterface = genFeature.getGenPackage().isLiteralsInterface(); if (_isLiteralsInterface) { String _featureID = genFeature.getGenClass().getFeatureID(genFeature); return ("Literals." + _featureID); } else { String _featureAccessorName = genFeature.getFeatureAccessorName(); String _plus = ("eINSTANCE.get" + _featureAccessorName); return (_plus + "()"); } }
private static void setMainGenModel(GenPackage genPackage, GenModel target) { if (!genPackage.eIsProxy()) { GenModel genModel = genPackage.getGenModel(); if (genModel != null) { genModel.setMainGenModel(target); } } }
/** * @since 1.5 */ protected String getModelPluginId(GenPackage genPackage) { if(genPackage != null) { GenModel genModel = genPackage.getGenModel(); if (genModel != null) { return genModel.getModelPluginID(); } } return null; }
public void run() { for (GenFeature genFeature : ((GenClass)genBase).getAllGenFeatures()) { if (literal.equals(genFeature.getName())) { genBase.eSet(eStructuralFeature, genFeature); break; } } } });
public boolean accept(GenFeature genFeature) { while (genFeature != null) { if (genFeature.isCreateChild()) return true; genFeature = genFeature.getDelegateFeature(); } return false; } });
/** * This returns the label text for the adapted class. */ @Override public String getText(Object object) { GenModel genModel = (GenModel)object; return genModel.getModelName(); }
/** * Returns the container of the given object if it is a GenModel element, and null otherwise. */ protected Object getParent(Object object) { Object result = ((GenBase)object).eContainer(); return result instanceof GenBase ? result : null; }
public boolean accept(GenFeature genFeature) { return genFeature.isNotify(); } });
public boolean accept(GenFeature genFeature) { return !genFeature.isPrimitiveType(); } }).size();
public String getOffsetCorrectionField(GenFeature genFeature) { return genFeature == null ? "EOFFSET_CORRECTION" : "EOFFSET_CORRECTION_" + genFeature.getUpperName() + "_OPPOSITE"; } }
@Override protected String getName(Object o) { return ((GenPackage)o).getBasicPackageName(); }
protected String getEffectiveMapType(GenClass context, GenClass genClass) { String mapType = getEffectiveMapType(); if (getEffectiveComplianceLevel().getValue() >= GenJDKLevel.JDK50) { String keyType = genClass.getMapEntryKeyFeature().getType(context); String valueType = genClass.getMapEntryValueFeature().getType(context); mapType += "<" + keyType + ", " + valueType + ">"; } return mapType; }
private void updateImportManager() { if (generatingObject != null) { ((GenBase)generatingObject).getGenModel().setImportManager(importManager); } }
public boolean accept(GenFeature genFeature) { while (genFeature != null) { if (genFeature.isCreateChild()) return true; genFeature = genFeature.getDelegateFeature(); } return false; } });