/** * Copyright (c) 2012-2016 Marsha Chechik, Alessio Di Sandro, Michalis Famelis, * Rick Salay. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Alessio Di Sandro - Implementation. */ package edu.toronto.cs.se.modelepedia.istar_mavo.impl; import edu.toronto.cs.se.mavo.MAVOPackage; import edu.toronto.cs.se.modelepedia.istar_mavo.Actor; import edu.toronto.cs.se.modelepedia.istar_mavo.Contribution; import edu.toronto.cs.se.modelepedia.istar_mavo.ContributionType; import edu.toronto.cs.se.modelepedia.istar_mavo.Decomposition; import edu.toronto.cs.se.modelepedia.istar_mavo.DependeeLink; import edu.toronto.cs.se.modelepedia.istar_mavo.DependencyEndpoint; import edu.toronto.cs.se.modelepedia.istar_mavo.DependerLink; import edu.toronto.cs.se.modelepedia.istar_mavo.Goal; import edu.toronto.cs.se.modelepedia.istar_mavo.IStar; import edu.toronto.cs.se.modelepedia.istar_mavo.IStar_MAVOFactory; import edu.toronto.cs.se.modelepedia.istar_mavo.IStar_MAVOPackage; import edu.toronto.cs.se.modelepedia.istar_mavo.Intention; import edu.toronto.cs.se.modelepedia.istar_mavo.IntentionLink; import edu.toronto.cs.se.modelepedia.istar_mavo.MeansEnd; import edu.toronto.cs.se.modelepedia.istar_mavo.Resource; import edu.toronto.cs.se.modelepedia.istar_mavo.SoftGoal; import edu.toronto.cs.se.modelepedia.istar_mavo.Task; import edu.toronto.cs.se.modelepedia.istar_mavo.util.IStar_MAVOValidator; import org.eclipse.emf.ecore.EAttribute; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EEnum; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.EReference; import org.eclipse.emf.ecore.EValidator; import org.eclipse.emf.ecore.impl.EPackageImpl; /** * <!-- begin-user-doc --> * An implementation of the model <b>Package</b>. * <!-- end-user-doc --> * @generated */ public class IStar_MAVOPackageImpl extends EPackageImpl implements IStar_MAVOPackage { /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass iStarEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass actorEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass intentionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass taskEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass resourceEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass goalEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass softGoalEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass dependencyEndpointEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass intentionLinkEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass meansEndEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass decompositionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass contributionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass dependerLinkEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass dependeeLinkEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EEnum contributionTypeEEnum = null; /** * Creates an instance of the model <b>Package</b>, registered with * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package * package URI value. * <p>Note: the correct way to create the package is via the static * factory method {@link #init init()}, which also performs * initialization of the package, or returns the registered package, * if one already exists. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see org.eclipse.emf.ecore.EPackage.Registry * @see edu.toronto.cs.se.modelepedia.istar_mavo.IStar_MAVOPackage#eNS_URI * @see #init() * @generated */ private IStar_MAVOPackageImpl() { super(eNS_URI, IStar_MAVOFactory.eINSTANCE); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private static boolean isInited = false; /** * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends. * * <p>This method is used to initialize {@link IStar_MAVOPackage#eINSTANCE} when that field is accessed. * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #eNS_URI * @see #createPackageContents() * @see #initializePackageContents() * @generated */ public static IStar_MAVOPackage init() { if (isInited) return (IStar_MAVOPackage)EPackage.Registry.INSTANCE.getEPackage(IStar_MAVOPackage.eNS_URI); // Obtain or create and register package IStar_MAVOPackageImpl theIStar_MAVOPackage = (IStar_MAVOPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof IStar_MAVOPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new IStar_MAVOPackageImpl()); isInited = true; // Initialize simple dependencies MAVOPackage.eINSTANCE.eClass(); // Create package meta-data objects theIStar_MAVOPackage.createPackageContents(); // Initialize created meta-data theIStar_MAVOPackage.initializePackageContents(); // Register package validator EValidator.Registry.INSTANCE.put (theIStar_MAVOPackage, new EValidator.Descriptor() { public EValidator getEValidator() { return IStar_MAVOValidator.INSTANCE; } }); // Mark meta-data to indicate it can't be changed theIStar_MAVOPackage.freeze(); // Update the registry and return the package EPackage.Registry.INSTANCE.put(IStar_MAVOPackage.eNS_URI, theIStar_MAVOPackage); return theIStar_MAVOPackage; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getIStar() { return iStarEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getIStar_Actors() { return (EReference)iStarEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getIStar_Dependums() { return (EReference)iStarEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getActor() { return actorEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getActor_Intentions() { return (EReference)actorEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getIntention() { return intentionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getIntention_FullySatisfied() { return (EAttribute)intentionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getIntention_PartiallySatisfied() { return (EAttribute)intentionEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getIntention_Unknown() { return (EAttribute)intentionEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getIntention_Conflict() { return (EAttribute)intentionEClass.getEStructuralFeatures().get(3); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getIntention_PartiallyDenied() { return (EAttribute)intentionEClass.getEStructuralFeatures().get(4); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getIntention_FullyDenied() { return (EAttribute)intentionEClass.getEStructuralFeatures().get(5); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getIntention_NoLabel() { return (EAttribute)intentionEClass.getEStructuralFeatures().get(6); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getIntention_LinksAsSrc() { return (EReference)intentionEClass.getEStructuralFeatures().get(7); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getIntention_LinksAsTgt() { return (EReference)intentionEClass.getEStructuralFeatures().get(8); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getIntention_DependerLinks() { return (EReference)intentionEClass.getEStructuralFeatures().get(9); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getIntention_DependeeLinks() { return (EReference)intentionEClass.getEStructuralFeatures().get(10); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getTask() { return taskEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getResource() { return resourceEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getGoal() { return goalEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSoftGoal() { return softGoalEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getDependencyEndpoint() { return dependencyEndpointEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getDependencyEndpoint_DependenciesAsDepender() { return (EReference)dependencyEndpointEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getDependencyEndpoint_DependenciesAsDependee() { return (EReference)dependencyEndpointEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getDependencyEndpoint_Name() { return (EAttribute)dependencyEndpointEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getIntentionLink() { return intentionLinkEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getIntentionLink_Name() { return (EAttribute)intentionLinkEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getIntentionLink_Src() { return (EReference)intentionLinkEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getIntentionLink_Tgt() { return (EReference)intentionLinkEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getMeansEnd() { return meansEndEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getDecomposition() { return decompositionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getContribution() { return contributionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getContribution_Type() { return (EAttribute)contributionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getDependerLink() { return dependerLinkEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getDependerLink_Name() { return (EAttribute)dependerLinkEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getDependerLink_Depender() { return (EReference)dependerLinkEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getDependerLink_Dependum() { return (EReference)dependerLinkEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getDependeeLink() { return dependeeLinkEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getDependeeLink_Name() { return (EAttribute)dependeeLinkEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getDependeeLink_Dependum() { return (EReference)dependeeLinkEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getDependeeLink_Dependee() { return (EReference)dependeeLinkEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EEnum getContributionType() { return contributionTypeEEnum; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public IStar_MAVOFactory getIStar_MAVOFactory() { return (IStar_MAVOFactory)getEFactoryInstance(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private boolean isCreated = false; /** * Creates the meta-model objects for the package. This method is * guarded to have no affect on any invocation but its first. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void createPackageContents() { if (isCreated) return; isCreated = true; // Create classes and their features iStarEClass = createEClass(ISTAR); createEReference(iStarEClass, ISTAR__ACTORS); createEReference(iStarEClass, ISTAR__DEPENDUMS); actorEClass = createEClass(ACTOR); createEReference(actorEClass, ACTOR__INTENTIONS); intentionEClass = createEClass(INTENTION); createEAttribute(intentionEClass, INTENTION__FULLY_SATISFIED); createEAttribute(intentionEClass, INTENTION__PARTIALLY_SATISFIED); createEAttribute(intentionEClass, INTENTION__UNKNOWN); createEAttribute(intentionEClass, INTENTION__CONFLICT); createEAttribute(intentionEClass, INTENTION__PARTIALLY_DENIED); createEAttribute(intentionEClass, INTENTION__FULLY_DENIED); createEAttribute(intentionEClass, INTENTION__NO_LABEL); createEReference(intentionEClass, INTENTION__LINKS_AS_SRC); createEReference(intentionEClass, INTENTION__LINKS_AS_TGT); createEReference(intentionEClass, INTENTION__DEPENDER_LINKS); createEReference(intentionEClass, INTENTION__DEPENDEE_LINKS); taskEClass = createEClass(TASK); resourceEClass = createEClass(RESOURCE); goalEClass = createEClass(GOAL); softGoalEClass = createEClass(SOFT_GOAL); dependencyEndpointEClass = createEClass(DEPENDENCY_ENDPOINT); createEAttribute(dependencyEndpointEClass, DEPENDENCY_ENDPOINT__NAME); createEReference(dependencyEndpointEClass, DEPENDENCY_ENDPOINT__DEPENDENCIES_AS_DEPENDER); createEReference(dependencyEndpointEClass, DEPENDENCY_ENDPOINT__DEPENDENCIES_AS_DEPENDEE); intentionLinkEClass = createEClass(INTENTION_LINK); createEAttribute(intentionLinkEClass, INTENTION_LINK__NAME); createEReference(intentionLinkEClass, INTENTION_LINK__SRC); createEReference(intentionLinkEClass, INTENTION_LINK__TGT); meansEndEClass = createEClass(MEANS_END); decompositionEClass = createEClass(DECOMPOSITION); contributionEClass = createEClass(CONTRIBUTION); createEAttribute(contributionEClass, CONTRIBUTION__TYPE); dependerLinkEClass = createEClass(DEPENDER_LINK); createEAttribute(dependerLinkEClass, DEPENDER_LINK__NAME); createEReference(dependerLinkEClass, DEPENDER_LINK__DEPENDER); createEReference(dependerLinkEClass, DEPENDER_LINK__DEPENDUM); dependeeLinkEClass = createEClass(DEPENDEE_LINK); createEAttribute(dependeeLinkEClass, DEPENDEE_LINK__NAME); createEReference(dependeeLinkEClass, DEPENDEE_LINK__DEPENDUM); createEReference(dependeeLinkEClass, DEPENDEE_LINK__DEPENDEE); // Create enums contributionTypeEEnum = createEEnum(CONTRIBUTION_TYPE); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private boolean isInitialized = false; /** * Complete the initialization of the package and its meta-model. This * method is guarded to have no affect on any invocation but its first. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void initializePackageContents() { if (isInitialized) return; isInitialized = true; // Initialize package setName(eNAME); setNsPrefix(eNS_PREFIX); setNsURI(eNS_URI); // Obtain other dependent packages MAVOPackage theMAVOPackage = (MAVOPackage)EPackage.Registry.INSTANCE.getEPackage(MAVOPackage.eNS_URI); // Create type parameters // Set bounds for type parameters // Add supertypes to classes iStarEClass.getESuperTypes().add(theMAVOPackage.getMAVORoot()); actorEClass.getESuperTypes().add(this.getDependencyEndpoint()); intentionEClass.getESuperTypes().add(this.getDependencyEndpoint()); taskEClass.getESuperTypes().add(this.getIntention()); resourceEClass.getESuperTypes().add(this.getIntention()); goalEClass.getESuperTypes().add(this.getIntention()); softGoalEClass.getESuperTypes().add(this.getGoal()); dependencyEndpointEClass.getESuperTypes().add(theMAVOPackage.getMAVOElement()); intentionLinkEClass.getESuperTypes().add(theMAVOPackage.getMAVOElement()); meansEndEClass.getESuperTypes().add(this.getIntentionLink()); decompositionEClass.getESuperTypes().add(this.getIntentionLink()); contributionEClass.getESuperTypes().add(this.getIntentionLink()); dependerLinkEClass.getESuperTypes().add(theMAVOPackage.getMAVOElement()); dependeeLinkEClass.getESuperTypes().add(theMAVOPackage.getMAVOElement()); // Initialize classes, features, and operations; add parameters initEClass(iStarEClass, IStar.class, "IStar", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getIStar_Actors(), this.getActor(), null, "actors", null, 0, -1, IStar.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getIStar_Dependums(), this.getIntention(), null, "dependums", null, 0, -1, IStar.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(actorEClass, Actor.class, "Actor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getActor_Intentions(), this.getIntention(), null, "intentions", null, 0, -1, Actor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(intentionEClass, Intention.class, "Intention", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getIntention_FullySatisfied(), ecorePackage.getEBoolean(), "fullySatisfied", null, 0, 1, Intention.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getIntention_PartiallySatisfied(), ecorePackage.getEBoolean(), "partiallySatisfied", null, 0, 1, Intention.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getIntention_Unknown(), ecorePackage.getEBoolean(), "unknown", null, 0, 1, Intention.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getIntention_Conflict(), ecorePackage.getEBoolean(), "conflict", null, 0, 1, Intention.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getIntention_PartiallyDenied(), ecorePackage.getEBoolean(), "partiallyDenied", null, 0, 1, Intention.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getIntention_FullyDenied(), ecorePackage.getEBoolean(), "fullyDenied", null, 0, 1, Intention.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getIntention_NoLabel(), ecorePackage.getEBoolean(), "noLabel", null, 0, 1, Intention.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getIntention_LinksAsSrc(), this.getIntentionLink(), this.getIntentionLink_Src(), "linksAsSrc", null, 0, -1, Intention.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getIntention_LinksAsTgt(), this.getIntentionLink(), this.getIntentionLink_Tgt(), "linksAsTgt", null, 0, -1, Intention.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getIntention_DependerLinks(), this.getDependerLink(), this.getDependerLink_Dependum(), "dependerLinks", null, 0, -1, Intention.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getIntention_DependeeLinks(), this.getDependeeLink(), this.getDependeeLink_Dependum(), "dependeeLinks", null, 0, -1, Intention.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(taskEClass, Task.class, "Task", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(resourceEClass, Resource.class, "Resource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(goalEClass, Goal.class, "Goal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(softGoalEClass, SoftGoal.class, "SoftGoal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(dependencyEndpointEClass, DependencyEndpoint.class, "DependencyEndpoint", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getDependencyEndpoint_Name(), ecorePackage.getEString(), "name", null, 1, 1, DependencyEndpoint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getDependencyEndpoint_DependenciesAsDepender(), this.getDependerLink(), this.getDependerLink_Depender(), "dependenciesAsDepender", null, 0, -1, DependencyEndpoint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getDependencyEndpoint_DependenciesAsDependee(), this.getDependeeLink(), this.getDependeeLink_Dependee(), "dependenciesAsDependee", null, 0, -1, DependencyEndpoint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(intentionLinkEClass, IntentionLink.class, "IntentionLink", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getIntentionLink_Name(), ecorePackage.getEString(), "name", null, 1, 1, IntentionLink.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED); initEReference(getIntentionLink_Src(), this.getIntention(), this.getIntention_LinksAsSrc(), "src", null, 1, 1, IntentionLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getIntentionLink_Tgt(), this.getIntention(), this.getIntention_LinksAsTgt(), "tgt", null, 1, 1, IntentionLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(meansEndEClass, MeansEnd.class, "MeansEnd", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(decompositionEClass, Decomposition.class, "Decomposition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(contributionEClass, Contribution.class, "Contribution", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getContribution_Type(), this.getContributionType(), "type", null, 1, 1, Contribution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(dependerLinkEClass, DependerLink.class, "DependerLink", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getDependerLink_Name(), ecorePackage.getEString(), "name", null, 1, 1, DependerLink.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED); initEReference(getDependerLink_Depender(), this.getDependencyEndpoint(), this.getDependencyEndpoint_DependenciesAsDepender(), "depender", null, 1, 1, DependerLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getDependerLink_Dependum(), this.getIntention(), this.getIntention_DependerLinks(), "dependum", null, 1, 1, DependerLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(dependeeLinkEClass, DependeeLink.class, "DependeeLink", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getDependeeLink_Name(), ecorePackage.getEString(), "name", null, 1, 1, DependeeLink.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED); initEReference(getDependeeLink_Dependum(), this.getIntention(), this.getIntention_DependeeLinks(), "dependum", null, 1, 1, DependeeLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getDependeeLink_Dependee(), this.getDependencyEndpoint(), this.getDependencyEndpoint_DependenciesAsDependee(), "dependee", null, 1, 1, DependeeLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); // Initialize enums and add enum literals initEEnum(contributionTypeEEnum, ContributionType.class, "ContributionType"); addEEnumLiteral(contributionTypeEEnum, ContributionType.MAKE); addEEnumLiteral(contributionTypeEEnum, ContributionType.HELP); addEEnumLiteral(contributionTypeEEnum, ContributionType.SOMEPLUS); addEEnumLiteral(contributionTypeEEnum, ContributionType.BREAK); addEEnumLiteral(contributionTypeEEnum, ContributionType.HURT); addEEnumLiteral(contributionTypeEEnum, ContributionType.SOMEMINUS); addEEnumLiteral(contributionTypeEEnum, ContributionType.UNKNOWN); // Create resource createResource(eNS_URI); // Create annotations // http://www.eclipse.org/emf/2002/Ecore createEcoreAnnotations(); // gmf.diagram createGmfAnnotations(); // http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot createPivotAnnotations(); // gmf.node createGmf_1Annotations(); // gmf.compartment createGmf_2Annotations(); // gmf.link createGmf_3Annotations(); } /** * Initializes the annotations for <b>http://www.eclipse.org/emf/2002/Ecore</b>. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected void createEcoreAnnotations() { String source = "http://www.eclipse.org/emf/2002/Ecore"; addAnnotation (this, source, new String[] { "invocationDelegates", "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot", "settingDelegates", "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot", "validationDelegates", "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot" }); addAnnotation (iStarEClass, source, new String[] { "constraints", "onlyDependums" }); addAnnotation (actorEClass, source, new String[] { "constraints", "noDependums" }); addAnnotation (meansEndEClass, source, new String[] { "constraints", "srcTask tgtGoal" }); addAnnotation (decompositionEClass, source, new String[] { "constraints", "tgtTask" }); addAnnotation (contributionEClass, source, new String[] { "constraints", "tgtSoftgoal" }); } /** * Initializes the annotations for <b>gmf.diagram</b>. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected void createGmfAnnotations() { String source = "gmf.diagram"; addAnnotation (iStarEClass, source, new String[] { }); } /** * Initializes the annotations for <b>http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot</b>. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected void createPivotAnnotations() { String source = "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"; addAnnotation (iStarEClass, source, new String[] { "onlyDependums", "dependums->forAll(linksAsSrc->isEmpty() and linksAsTgt->isEmpty())" }); addAnnotation (actorEClass, source, new String[] { "noDependums", "intentions->forAll(dependerLinks->isEmpty() and dependeeLinks->isEmpty())" }); addAnnotation (getIntentionLink_Name(), source, new String[] { "derivation", "if src.oclIsUndefined() or tgt.oclIsUndefined() then \'\' else src.name.concat(\' 2 \').concat(tgt.name) endif" }); addAnnotation (meansEndEClass, source, new String[] { "srcTask", "src.oclIsTypeOf(Task)", "tgtGoal", "tgt.oclIsTypeOf(Goal)" }); addAnnotation (decompositionEClass, source, new String[] { "tgtTask", "tgt.oclIsTypeOf(Task)" }); addAnnotation (contributionEClass, source, new String[] { "tgtSoftgoal", "tgt.oclIsTypeOf(SoftGoal)" }); addAnnotation (getDependerLink_Name(), source, new String[] { "derivation", "if depender.oclIsUndefined() or dependum.oclIsUndefined() then \'\' else depender.name.concat(\' 2 \').concat(dependum.name) endif" }); addAnnotation (getDependeeLink_Name(), source, new String[] { "derivation", "if dependum.oclIsUndefined() or dependee.oclIsUndefined() then \'\' else dependum.name.concat(\' 2 \').concat(dependee.name) endif" }); } /** * Initializes the annotations for <b>gmf.node</b>. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected void createGmf_1Annotations() { String source = "gmf.node"; addAnnotation (actorEClass, source, new String[] { "figure", "ellipse", "border.style", "dash", "border.width", "2" }); addAnnotation (taskEClass, source, new String[] { "figure", "edu.toronto.cs.se.modelepedia.istar.diagram.figures.TaskFigure" }); addAnnotation (resourceEClass, source, new String[] { "figure", "rectangle", "border.width", "5" }); addAnnotation (goalEClass, source, new String[] { "figure", "edu.toronto.cs.se.modelepedia.istar.diagram.figures.GoalFigure" }); addAnnotation (softGoalEClass, source, new String[] { "figure", "edu.toronto.cs.se.modelepedia.istar.diagram.figures.SoftGoalFigure" }); addAnnotation (dependencyEndpointEClass, source, new String[] { "label", "name", "label.icon", "false" }); } /** * Initializes the annotations for <b>gmf.compartment</b>. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected void createGmf_2Annotations() { String source = "gmf.compartment"; addAnnotation (getActor_Intentions(), source, new String[] { "layout", "free" }); } /** * Initializes the annotations for <b>gmf.link</b>. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected void createGmf_3Annotations() { String source = "gmf.link"; addAnnotation (intentionLinkEClass, source, new String[] { "source", "src", "target", "tgt" }); addAnnotation (meansEndEClass, source, new String[] { "target.decoration", "closedarrow" }); addAnnotation (decompositionEClass, source, new String[] { "target.decoration", "filledrhomb" }); addAnnotation (contributionEClass, source, new String[] { "target.decoration", "arrow" }); addAnnotation (dependerLinkEClass, source, new String[] { "target.decoration", "arrow", "source", "depender", "target", "dependum" }); addAnnotation (dependeeLinkEClass, source, new String[] { "target.decoration", "arrow", "source", "dependum", "target", "dependee" }); } } //IStar_MAVOPackageImpl