public EReference createEReference(EClass eClass, String name, EClass type, Multiplicity multiplicity) { EReference eReference = EcoreFactory.eINSTANCE.createEReference(); eReference.setName(name); if (multiplicity == Multiplicity.MANY) { eReference.setUpperBound(-1); } if (!isNew(eClass)) { changes.add(new NewReferenceChange(this, eClass.getEAllStructuralFeatures().size(), eReference)); } eReference.setEType(type); eClass.getEStructuralFeatures().add(eReference); return eReference; }
EReference finalReference = EcoreFactory.eINSTANCE.createEReference(); finalReference.setName("List"); finalReference.setEType(finalType); EReference eReference = EcoreFactory.eINSTANCE.createEReference(); eReference.getEAnnotations().add(createTwoDimensionalArrayAnnotation()); eReference.setName(attribName);
private void addInverseAttribute(Attribute attrib, EClass cls) { InverseAttribute inverseAttribute = (InverseAttribute) attrib; EReference eRef = eFactory.createEReference(); eRef.setUnsettable(true); // Inverses are always optional? eRef.getEAnnotations().add(createInverseAnnotation());
EReference eReference = eFactory.createEReference(); eReference.setName(attributeName.getName()); eReference.setDerived(true);
protected void createEReference(EClass owner, int id) { EReferenceImpl r = (EReferenceImpl)ecoreFactory.createEReference(); r.setFeatureID(id); owner.getEStructuralFeatures().add(r); }
protected void createEReference(EClass owner, int id) { EReferenceImpl r = (EReferenceImpl)ecoreFactory.createEReference(); r.setFeatureID(id); owner.getEStructuralFeatures().add(r); }
EReference eRef = eFactory.createEReference(); eRef.setName(attrib.getName()); cls.getEStructuralFeatures().add(doubleStringAttribute); } else { EReference eRef = eFactory.createEReference(); eRef.setUpperBound(-1); eRef.setName(attrib.getName());
public static EReference addPermission(final Role role, final Permission permission) { final EReference backReference = ECORE_FACTORY.createEReference(); permission.getEStructuralFeatures().add(backReference); final EReference reference = ECORE_FACTORY.createEReference(); role.getEStructuralFeatures().add(reference); initEReference(backReference, role, reference, role.getName(), null, 0, 1, Permission.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_CONTAINMENT, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); initEReference(reference, permission, backReference, permission.getName(), null, 0, 1, Role.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_CONTAINMENT, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); return reference; }
@SuppressWarnings("unchecked") public static EReference addPobject(final Permission permission, final PObject pObject) { assert permission != null && pObject != null; removePObject(permission); final EReference reference = ECORE_FACTORY.createEReference(); permission.getEStructuralFeatures().add(reference); initEReference(reference, pObject, null, IPermissionConstant.OBJECT, null, 0, 1, Permission.class, false, false, true, false, true, false, true, false, false); return reference; }
/** * @since 2.0 */ public static EReference createEReference(EClass eClass, String name, EClassifier type, boolean isRequired, boolean isMany) { EReference eReference = EcoreFactory.eINSTANCE.createEReference(); eReference.setName(name); eReference.setEType(type); eReference.setLowerBound(isRequired ? 1 : 0); eReference.setUpperBound(isMany ? -1 : 0); eClass.getEStructuralFeatures().add(eReference); return eReference; }
public EStructuralFeature createProperty(String name, EClassifier resultType) { EStructuralFeature result; if (resultType instanceof EClass) { result = org.eclipse.emf.ecore.EcoreFactory.eINSTANCE.createEReference(); } else { result = org.eclipse.emf.ecore.EcoreFactory.eINSTANCE.createEAttribute(); } result.setName(name); result.setEType(resultType); return result; }
/** * Creates a droot root class * * @param rootClass * @return */ public static EClass createDocumentRoot(EClass rootClass) { EClass clazz = EcoreFactory.eINSTANCE.createEClass(); clazz.setName("DocumentRoot"); metadata.setDocumentRoot(clazz); if (rootClass != null) { EReference reference = EcoreFactory.eINSTANCE.createEReference(); clazz.getEStructuralFeatures().add(reference); reference.setEType(rootClass); reference.setName(metadata.getName(rootClass)); metadata.setFeatureKind(reference, ExtendedMetaData.ELEMENT_FEATURE); setTargetNamespace(reference); reference.setContainment(true); } return clazz; }
/** * Creates a droot root class * * @param rootClass * @return */ public static EClass createDocumentRoot(EClass rootClass) { EClass clazz = EcoreFactory.eINSTANCE.createEClass(); clazz.setName("DocumentRoot"); metadata.setDocumentRoot(clazz); if (rootClass != null) { EReference reference = EcoreFactory.eINSTANCE.createEReference(); clazz.getEStructuralFeatures().add(reference); reference.setEType(rootClass); reference.setName(metadata.getName(rootClass)); metadata.setFeatureKind(reference, ExtendedMetaData.ELEMENT_FEATURE); setTargetNamespace(reference); reference.setContainment(true); } return clazz; }
private EStructuralFeature createFeatureWith(String featureName, EClassifier featureClassifier, boolean isMultivalue, boolean isContainment) { EStructuralFeature newFeature; if (featureClassifier instanceof EClass) { EReference reference = EcoreFactory.eINSTANCE.createEReference(); reference.setContainment(isContainment); newFeature = reference; } else { newFeature = EcoreFactory.eINSTANCE.createEAttribute(); } newFeature.setName(featureName); newFeature.setEType(featureClassifier); newFeature.setLowerBound(0); newFeature.setUpperBound(isMultivalue ? -1 : 1); newFeature.setUnique(!isMultivalue || (isContainment && featureClassifier instanceof EClass)); if (newFeature.getEType() instanceof EEnum) { newFeature.setDefaultValue(null); } return newFeature; }
/** * Convert {@link SegmentGroup} into {@link EReference} to the given * {@link EClass} * * @param grp * @param refClass * @return */ public static EReference segmentGroupToEReference(SegmentGroup grp, EClass refClass) { EReference reference = EcoreFactory.eINSTANCE.createEReference(); reference.setContainment(true); reference.setName(toJavaName(grp.getXmltag(), false)); reference.setEType(refClass); reference.setLowerBound(grp.getMinOccurs()); reference.setUpperBound(grp.getMaxOccurs()); addMappingInformation(reference, grp); annotate(reference, "minOccurs", String.valueOf(grp.getMinOccurs())); annotate(reference, "maxOccurs", String.valueOf(grp.getMaxOccurs())); annotate(reference, SmooksMetadata.ANNOTATION_TYPE_KEY, SmooksMetadata.SEGMENT_GROUP_TYPE); annotate(reference, SmooksMetadata.SEGCODE, grp.getSegcode()); return reference; }
/** * Convert {@link SegmentGroup} into {@link EReference} to the given * {@link EClass} * * @param grp * @param refClass * @return */ public static EReference segmentGroupToEReference(SegmentGroup grp, EClass refClass) { EReference reference = EcoreFactory.eINSTANCE.createEReference(); reference.setContainment(true); reference.setName(toJavaName(grp.getXmltag(), false)); reference.setEType(refClass); reference.setLowerBound(grp.getMinOccurs()); reference.setUpperBound(grp.getMaxOccurs()); addMappingInformation(reference, grp); annotate(reference, "minOccurs", String.valueOf(grp.getMinOccurs())); annotate(reference, "maxOccurs", String.valueOf(grp.getMaxOccurs())); annotate(reference, SmooksMetadata.ANNOTATION_TYPE_KEY, SmooksMetadata.SEGMENT_GROUP_TYPE); annotate(reference, SmooksMetadata.SEGCODE, grp.getSegcode()); return reference; }
private void createEPackageMultiplicityOneCrossRefNoOpposite() { EPackage ePackage = this.createNewEPackage("MyEPackage", "http://www.example.com/model", "model"); EClass eClass = EcoreFactory.eINSTANCE.createEClass(); eClass.setName("MyEClass"); EClass eOtherClass = EcoreFactory.eINSTANCE.createEClass(); eOtherClass.setName("YourEClass"); EReference eReference = EcoreFactory.eINSTANCE.createEReference(); eReference.setName("child"); eReference.setEType(eOtherClass); eReference.setLowerBound(0); eReference.setUpperBound(1); eReference.setContainment(false); eClass.getEStructuralFeatures().add(eReference); ePackage.getEClassifiers().add(eClass); ePackage.getEClassifiers().add(eOtherClass); this.registerEPackages(ePackage); }
private void createEPackageMultiplicityManyCrossRefNoOpposite() { EPackage ePackage = this.createNewEPackage("MyEPackage", "http://www.example.com/model", "model"); EClass eClass = EcoreFactory.eINSTANCE.createEClass(); eClass.setName("MyEClass"); EClass eOtherClass = EcoreFactory.eINSTANCE.createEClass(); eOtherClass.setName("YourEClass"); EReference eReference = EcoreFactory.eINSTANCE.createEReference(); eReference.setName("children"); eReference.setEType(eOtherClass); eReference.setLowerBound(0); eReference.setUpperBound(-1); eReference.setContainment(false); eClass.getEStructuralFeatures().add(eReference); ePackage.getEClassifiers().add(eClass); ePackage.getEClassifiers().add(eOtherClass); this.registerEPackages(ePackage); }
private void createEPackageMultiplicityOneContainmentNoOpposite() { EPackage ePackage = this.createNewEPackage("MyEPackage", "http://www.example.com/model", "model"); EClass eClass = EcoreFactory.eINSTANCE.createEClass(); eClass.setName("MyEClass"); EClass eOtherClass = EcoreFactory.eINSTANCE.createEClass(); eOtherClass.setName("YourEClass"); EReference eReference = EcoreFactory.eINSTANCE.createEReference(); eReference.setName("child"); eReference.setEType(eOtherClass); eReference.setLowerBound(0); eReference.setUpperBound(1); eReference.setContainment(true); eClass.getEStructuralFeatures().add(eReference); ePackage.getEClassifiers().add(eClass); ePackage.getEClassifiers().add(eOtherClass); this.registerEPackages(ePackage); }
private void createEPackageSymmetricMultiplicityManyCrosssRef() { EPackage ePackage = this.createNewEPackage("MyEPackage", "http://www.example.com/model", "model"); { EClass eClass = EcoreFactory.eINSTANCE.createEClass(); eClass.setName("MyEClass"); { EReference eRef = EcoreFactory.eINSTANCE.createEReference(); eRef.setName("ref"); eRef.setEType(eClass); eRef.setLowerBound(0); eRef.setUpperBound(-1); eRef.setEOpposite(eRef); eRef.setContainment(false); eRef.setOrdered(true); eRef.setUnique(true); eClass.getEStructuralFeatures().add(eRef); } ePackage.getEClassifiers().add(eClass); } this.registerEPackages(ePackage); }