public Set<EClass> getAllEClassesThatHaveInverses() { // TODO cache Set<EClass> result = new HashSet<>(); for (EClassifier eClassifier : getEPackage().getEClassifiers()) { if (eClassifier instanceof EClass) { EClass eClass = (EClass)eClassifier; for (EReference eReference : eClass.getEReferences()) { if (hasInverse(eReference)) { result.add(eClass); continue; } } } } return result; }
private void initInverses() { for (EClassifier eClassifier : ePackage.getEClassifiers()) { if (eClassifier instanceof EClass) { EClass eClass = (EClass)eClassifier; for (EReference eReference : eClass.getEReferences()) { initIsInverse(eReference); } } } for (EClassifier eClassifier : ePackage.getEClassifiers()) { if (eClassifier instanceof EClass) { EClass eClass = (EClass)eClassifier; for (EReference eReference : eClass.getEReferences()) { initHasInverse(eReference); } } } }
finalReference.setEType(finalType); finalReference.setUpperBound(-1); containerClass.getEReferences().add(finalReference);
private void initDependencies() { for (PackageMetaData packageMetaData : ePackages.values()) { for (EClassifier eClassifier : packageMetaData.getEPackage().getEClassifiers()) { if (eClassifier instanceof EClass) { EClass eClass = (EClass)eClassifier; for (EReference eReference : eClass.getEReferences()) { if (eReference.getEType().getEPackage() != packageMetaData.getEPackage()) { packageMetaData.addDependency(getPackageMetaData(eReference.getEType().getEPackage().getName())); } } } } } }
/** * @generated This field/method will be replaced during code generation. */ public EReference getEARProjectMap_UtilityJARMappings() { return (EReference) earProjectMapEClass.getEReferences().get(1); }
/** * @generated This field/method will be replaced during code generation. */ public EReference getModuleMapping_Module() { return (EReference) moduleMappingEClass.getEReferences().get(0); }
/** * @generated This field/method will be replaced during code generation. */ public EReference getEARProjectMap_Mappings() { return (EReference) earProjectMapEClass.getEReferences().get(0); }
/** * This method returns the list of features for the given class and all inherited * features; ignoring features from classes in the classesToIgnore set. */ protected List<EStructuralFeature> getAllFeatures(EClass eClass, Set<EClass> classesToIgnore) { List<EStructuralFeature> features = new ArrayList<EStructuralFeature>(); List<EClass> superClasses = eClass.getESuperTypes(); for (int i = 0; i < superClasses.size(); i++) { if (!classesToIgnore.contains(superClasses.get(i))) { features.addAll(getAllFeatures(superClasses.get(i), classesToIgnore)); } } features.addAll(eClass.getEAttributes()); features.addAll(eClass.getEReferences()); // the class has been processed and should be ignored if seen again in the hierarchy classesToIgnore.add(eClass); return features; }
/** * This method returns the list of features for the given class and all inherited * features; ignoring features from classes in the classesToIgnore set. */ protected List<EStructuralFeature> getAllFeatures(EClass eClass, Set<EClass> classesToIgnore) { List<EStructuralFeature> features = new ArrayList<EStructuralFeature>(); List<EClass> superClasses = eClass.getESuperTypes(); for (int i = 0; i < superClasses.size(); i++) { if (!classesToIgnore.contains(superClasses.get(i))) { features.addAll(getAllFeatures(superClasses.get(i), classesToIgnore)); } } features.addAll(eClass.getEAttributes()); features.addAll(eClass.getEReferences()); // the class has been processed and should be ignored if seen again in the hierarchy classesToIgnore.add(eClass); return features; }
/** * Return the inherited features from the super classes (except the first one, which * is the base type for the generated schema type for the class), and the local * features. */ protected List<EStructuralFeature> getFeatures(EClass eClass, List<EClass> superClasses) { List<EStructuralFeature> features = new ArrayList<EStructuralFeature>(); if (superClasses.size() > 0) { List<EClass> allSupers = superClasses.get(0).getEAllSuperTypes(); Set<EClass> allSuperClasses = new HashSet<EClass>(); allSuperClasses.addAll(allSupers); allSuperClasses.add(superClasses.get(0)); for (int i = 1; i < superClasses.size(); i++) { EClass superClass = superClasses.get(i); if (!allSuperClasses.contains(superClass)) { features.addAll(getAllFeatures(superClass, allSuperClasses)); } } } features.addAll(eClass.getEAttributes()); features.addAll(eClass.getEReferences()); return features; }
/** * Return the inherited features from the super classes (except the first one, which * is the base type for the generated schema type for the class), and the local * features. */ protected List<EStructuralFeature> getFeatures(EClass eClass, List<EClass> superClasses) { List<EStructuralFeature> features = new ArrayList<EStructuralFeature>(); if (superClasses.size() > 0) { List<EClass> allSupers = superClasses.get(0).getEAllSuperTypes(); Set<EClass> allSuperClasses = new HashSet<EClass>(); allSuperClasses.addAll(allSupers); allSuperClasses.add(superClasses.get(0)); for (int i = 1; i < superClasses.size(); i++) { EClass superClass = superClasses.get(i); if (!allSuperClasses.contains(superClass)) { features.addAll(getAllFeatures(superClass, allSuperClasses)); } } } features.addAll(eClass.getEAttributes()); features.addAll(eClass.getEReferences()); return features; }
List<EReference> eReferences = eClass.getEReferences(); result.addAll(eReferences);
List<EReference> eReferences = eClass.getEReferences(); result.addAll(eReferences);
for (EReference eReference : eClass.getEReferences()) { Vertex eReferenceVertex = ChronoSphereGraphFormat.getVertexForEReferenceRaw(eClassVertex, eReference); if (eReferenceVertex == null) {
private void cachePackage(EPackage ePackage) { for (EClassifier c : ePackage.getEClassifiers()) { if (c instanceof EClass) { EClass eClass = (EClass) c; for (EReference ref : eClass.getEReferences()) { EAnnotation ann = ref .getEAnnotation(EMOFExtendedMetaData.EMOF_PACKAGE_NS_URI_2_0); if (ann != null) { String oppositeName = ann.getDetails().get( OppositeEndFinder.PROPERTY_OPPOSITE_ROLE_NAME_KEY); if (oppositeName != null) { cache((EClass) ref.getEType(), oppositeName, ref); } } } } } }
for (EReference eReference : eClass.getEReferences()) {
public synchronized Map<String, List<TransformationModelElement>> createChildElements(TransformationModelElement element) { EObject eobject = getEObject(element); if (eobject != null) { for (EReference reference : eobject.eClass().getEReferences()) { if (reference.isContainment()) { Object eGet = eobject.eGet(reference); if (eGet instanceof List) { @SuppressWarnings("unchecked") List<EObject> referenceList = new ArrayList<>(((List<EObject>) eGet)); for (EObject object : referenceList) { element.addContainedElement(reference.getName(), getTransformationElement(object)); } if(referenceList.isEmpty()){ element.addEmptyContainment(reference.getName()); } } else if (eGet instanceof EObject) { element.addContainedElement(reference.getName(), getTransformationElement((EObject) eGet)); } else { element.addEmptyContainment(reference.getName()); } } } } return element.getContainments(); }
public synchronized Map<String, List<TransformationModelElement>> createCrossReferenceElements( TransformationModelElement element) { EObject eobject = getEObject(element); if (eobject != null) { for (EReference reference : eobject.eClass().getEReferences()) { if (!reference.isContainment()) { Object eGet = eobject.eGet(reference); if (eGet instanceof List) { @SuppressWarnings("unchecked") List<EObject> referenceList = new ArrayList<>(((List<EObject>) eGet)); for (EObject object : referenceList) { element.addCrossReference(reference.getName(), getTransformationElement(object)); } if(referenceList.isEmpty()){ element.addEmptyContainment(reference.getName()); } } else if (eGet instanceof EObject) { element.addCrossReference(reference.getName(), getTransformationElement((EObject) eGet)); } else { element.addEmptyCrossReference(reference.getName()); } } } } return element.getCrossReferences(); }
for (final EReference ref : cls.getEReferences()) {
assertEquals(1, eAttribute2.getUpperBound()); assertEquals(EcorePackage.Literals.ESTRING, eAttribute2.getEType()); EReference eReference2 = Iterables.getOnlyElement(eClass2.getEReferences()); assertNotNull(eReference2); assertEquals("self", eReference2.getName());