public static Set<EPackage> collectSiamPackages(boolean includeCore) { Set<EPackage> result = new HashSet<EPackage>(); // collect the siam core packages Object[] keys = EPackage.Registry.INSTANCE.keySet().toArray(); for (int i = 0; i < keys.length; ++i) { String key = (String) keys[i]; EPackage temp = EPackage.Registry.INSTANCE.getEPackage(key); EList<EAnnotation> eAnnotations = temp.getEAnnotations(); for (EAnnotation ann : eAnnotations) { if (ann.getSource().equals("http://de.dfki.iui.mmds/CoreModel") && includeCore) { addPackage(result, temp); break; } else if (ann.getSource().equals("http://de.dfki.iui.mmds/ExtensionModel")) { addPackage(result, temp); break; } } } return result; }
public void setDelegates(EPackage ePackage, List<String> delegateURIs) { final String name = getName(); EAnnotation eAnnotation = ePackage.getEAnnotation(EcorePackage.eNS_URI); if (delegateURIs == null || delegateURIs.isEmpty()) { if (eAnnotation != null) { eAnnotation.getDetails().remove(name); } } else { if (eAnnotation == null) { eAnnotation = EcoreFactory.eINSTANCE.createEAnnotation(); eAnnotation.setSource(EcorePackage.eNS_URI); ePackage.getEAnnotations().add(eAnnotation); } StringBuilder value = new StringBuilder(); for (Iterator<String> i = delegateURIs.iterator(); i.hasNext();) { value.append(i.next()); if (i.hasNext()) { value.append(' '); } } eAnnotation.getDetails().put(name, value.toString()); } }
public static void setConversionDelegates(EPackage ePackage, List<String> eDataTypeDelegates) { EAnnotation eAnnotation = ePackage.getEAnnotation(EcorePackage.eNS_URI); if (eDataTypeDelegates == null || eDataTypeDelegates.isEmpty()) { if (eAnnotation != null) { eAnnotation.getDetails().removeKey("conversionDelegates"); } } else { if (eAnnotation == null) { eAnnotation = EcoreFactory.eINSTANCE.createEAnnotation(); eAnnotation.setSource(EcorePackage.eNS_URI); ePackage.getEAnnotations().add(eAnnotation); } StringBuffer value = new StringBuffer(); for (Iterator<String> i = eDataTypeDelegates.iterator(); i.hasNext();) { value.append(i.next()); if (i.hasNext()) { value.append(' '); } } eAnnotation.getDetails().put("conversionDelegates", value.toString()); } }
ePackage.getEAnnotations().add(eAnnotation);
public static void setConversionDelegates(EPackage ePackage, List<String> eDataTypeDelegates) { EAnnotation eAnnotation = ePackage.getEAnnotation(EcorePackage.eNS_URI); if (eDataTypeDelegates == null || eDataTypeDelegates.isEmpty()) { if (eAnnotation != null) { eAnnotation.getDetails().remove("conversionDelegates"); } } else { if (eAnnotation == null) { eAnnotation = EcoreFactory.eINSTANCE.createEAnnotation(); eAnnotation.setSource(EcorePackage.eNS_URI); ePackage.getEAnnotations().add(eAnnotation); } StringBuffer value = new StringBuffer(); for (Iterator<String> i = eDataTypeDelegates.iterator(); i.hasNext();) { value.append(i.next()); if (i.hasNext()) { value.append(' '); } } eAnnotation.getDetails().put("conversionDelegates", value.toString()); } }
ePackage.getEAnnotations().add(eAnnotation);
ePackage.getEAnnotations().add(eAnnotation);
ePackage.getEAnnotations().add(eAnnotation);
ePackage.getEAnnotations().add(eAnnotation);
ePackage.getEAnnotations().add(eAnnotation);
protected void initializeFromLoadedEPackage(EPackage target, EPackage source) { target.setName(source.getName()); target.setNsPrefix(source.getNsPrefix()); target.setNsURI(source.getNsURI()); target.getEClassifiers().addAll(source.getEClassifiers()); target.getEAnnotations().addAll(source.getEAnnotations()); for (EPackage sourceSubpackage : source.getESubpackages()) { EPackage targetSubpackage = EPackage.Registry.INSTANCE.getEPackage(sourceSubpackage.getNsURI()); initializeFromLoadedEPackage(targetSubpackage, sourceSubpackage); target.getESubpackages().add(targetSubpackage); } }
protected void initializeFromLoadedEPackage(EPackage target, EPackage source) { target.setName(source.getName()); target.setNsPrefix(source.getNsPrefix()); target.setNsURI(source.getNsURI()); target.getEClassifiers().addAll(source.getEClassifiers()); target.getEAnnotations().addAll(source.getEAnnotations()); for (EPackage sourceSubpackage : source.getESubpackages()) { EPackage targetSubpackage = EPackage.Registry.INSTANCE.getEPackage(sourceSubpackage.getNsURI()); initializeFromLoadedEPackage(targetSubpackage, sourceSubpackage); target.getESubpackages().add(targetSubpackage); } }