/** * <copyright> * </copyright> * * $Id$ */ package org.eclipse.gmf.examples.ocldriven.toe.impl; import org.eclipse.emf.ecore.EAttribute; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.EReference; import org.eclipse.emf.ecore.impl.EPackageImpl; import org.eclipse.gmf.examples.ocldriven.toe.AllBase; import org.eclipse.gmf.examples.ocldriven.toe.AllHolder; import org.eclipse.gmf.examples.ocldriven.toe.Contribution; import org.eclipse.gmf.examples.ocldriven.toe.Department; import org.eclipse.gmf.examples.ocldriven.toe.Employee; import org.eclipse.gmf.examples.ocldriven.toe.Manager; import org.eclipse.gmf.examples.ocldriven.toe.Project; import org.eclipse.gmf.examples.ocldriven.toe.TOEFactory; import org.eclipse.gmf.examples.ocldriven.toe.TOEPackage; /** * <!-- begin-user-doc --> * An implementation of the model <b>Package</b>. * <!-- end-user-doc --> * @generated */ public class TOEPackageImpl extends EPackageImpl implements TOEPackage { /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass allHolderEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass allBaseEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass employeeEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass managerEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass contributionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass departmentEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass projectEClass = 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 org.eclipse.gmf.examples.ocldriven.toe.TOEPackage#eNS_URI * @see #init() * @generated */ private TOEPackageImpl() { super(eNS_URI, TOEFactory.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 TOEPackage#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 TOEPackage init() { if (isInited) return (TOEPackage)EPackage.Registry.INSTANCE.getEPackage(TOEPackage.eNS_URI); // Obtain or create and register package TOEPackageImpl theTOEPackage = (TOEPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof TOEPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new TOEPackageImpl()); isInited = true; // Create package meta-data objects theTOEPackage.createPackageContents(); // Initialize created meta-data theTOEPackage.initializePackageContents(); // Mark meta-data to indicate it can't be changed theTOEPackage.freeze(); // Update the registry and return the package EPackage.Registry.INSTANCE.put(TOEPackage.eNS_URI, theTOEPackage); return theTOEPackage; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getAllHolder() { return allHolderEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getAllHolder_All() { return (EReference)allHolderEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getAllBase() { return allBaseEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getEmployee() { return employeeEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getEmployee_Name() { return (EAttribute)employeeEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getEmployee_Salary() { return (EAttribute)employeeEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getEmployee_Projects() { return (EReference)employeeEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getEmployee_Department() { return (EReference)employeeEClass.getEStructuralFeatures().get(3); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getEmployee_Contributions() { return (EReference)employeeEClass.getEStructuralFeatures().get(4); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getManager() { return managerEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getManager_Leads() { return (EReference)managerEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getManager_ManagedDepartment() { return (EReference)managerEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getContribution() { return contributionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getContribution_Description() { return (EAttribute)contributionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getContribution_Employee() { return (EReference)contributionEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getContribution_Project() { return (EReference)contributionEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getDepartment() { return departmentEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getDepartment_Name() { return (EAttribute)departmentEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getDepartment_SubDepartments() { return (EReference)departmentEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getDepartment_Employees() { return (EReference)departmentEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getDepartment_ParentDepartment() { return (EReference)departmentEClass.getEStructuralFeatures().get(3); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getDepartment_Manager() { return (EReference)departmentEClass.getEStructuralFeatures().get(4); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getProject() { return projectEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getProject_Name() { return (EAttribute)projectEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getProject_DepartmentWide() { return (EAttribute)projectEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getProject_ProjectTeam() { return (EReference)projectEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getProject_Lead() { return (EReference)projectEClass.getEStructuralFeatures().get(3); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getProject_Contributions() { return (EReference)projectEClass.getEStructuralFeatures().get(4); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public TOEFactory getTOEFactory() { return (TOEFactory)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 allHolderEClass = createEClass(ALL_HOLDER); createEReference(allHolderEClass, ALL_HOLDER__ALL); allBaseEClass = createEClass(ALL_BASE); employeeEClass = createEClass(EMPLOYEE); createEAttribute(employeeEClass, EMPLOYEE__NAME); createEAttribute(employeeEClass, EMPLOYEE__SALARY); createEReference(employeeEClass, EMPLOYEE__PROJECTS); createEReference(employeeEClass, EMPLOYEE__DEPARTMENT); createEReference(employeeEClass, EMPLOYEE__CONTRIBUTIONS); managerEClass = createEClass(MANAGER); createEReference(managerEClass, MANAGER__LEADS); createEReference(managerEClass, MANAGER__MANAGED_DEPARTMENT); contributionEClass = createEClass(CONTRIBUTION); createEAttribute(contributionEClass, CONTRIBUTION__DESCRIPTION); createEReference(contributionEClass, CONTRIBUTION__EMPLOYEE); createEReference(contributionEClass, CONTRIBUTION__PROJECT); departmentEClass = createEClass(DEPARTMENT); createEAttribute(departmentEClass, DEPARTMENT__NAME); createEReference(departmentEClass, DEPARTMENT__SUB_DEPARTMENTS); createEReference(departmentEClass, DEPARTMENT__EMPLOYEES); createEReference(departmentEClass, DEPARTMENT__PARENT_DEPARTMENT); createEReference(departmentEClass, DEPARTMENT__MANAGER); projectEClass = createEClass(PROJECT); createEAttribute(projectEClass, PROJECT__NAME); createEAttribute(projectEClass, PROJECT__DEPARTMENT_WIDE); createEReference(projectEClass, PROJECT__PROJECT_TEAM); createEReference(projectEClass, PROJECT__LEAD); createEReference(projectEClass, PROJECT__CONTRIBUTIONS); } /** * <!-- 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); // Create type parameters // Set bounds for type parameters // Add supertypes to classes employeeEClass.getESuperTypes().add(this.getAllBase()); managerEClass.getESuperTypes().add(this.getEmployee()); contributionEClass.getESuperTypes().add(this.getAllBase()); departmentEClass.getESuperTypes().add(this.getAllBase()); projectEClass.getESuperTypes().add(this.getAllBase()); // Initialize classes and features; add operations and parameters initEClass(allHolderEClass, AllHolder.class, "AllHolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getAllHolder_All(), this.getAllBase(), null, "all", null, 0, -1, AllHolder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(allBaseEClass, AllBase.class, "AllBase", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(employeeEClass, Employee.class, "Employee", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getEmployee_Name(), ecorePackage.getEString(), "name", null, 0, 1, Employee.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getEmployee_Salary(), ecorePackage.getEInt(), "salary", null, 0, 1, Employee.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getEmployee_Projects(), this.getProject(), this.getProject_ProjectTeam(), "projects", null, 0, -1, Employee.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getEmployee_Department(), this.getDepartment(), this.getDepartment_Employees(), "department", null, 0, 1, Employee.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getEmployee_Contributions(), this.getContribution(), this.getContribution_Employee(), "contributions", null, 0, -1, Employee.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(managerEClass, Manager.class, "Manager", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getManager_Leads(), this.getProject(), this.getProject_Lead(), "leads", null, 0, -1, Manager.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getManager_ManagedDepartment(), this.getDepartment(), this.getDepartment_Manager(), "managedDepartment", null, 0, 1, Manager.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(contributionEClass, Contribution.class, "Contribution", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getContribution_Description(), ecorePackage.getEString(), "description", null, 0, 1, Contribution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getContribution_Employee(), this.getEmployee(), this.getEmployee_Contributions(), "employee", null, 0, 1, Contribution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getContribution_Project(), this.getProject(), this.getProject_Contributions(), "project", null, 0, 1, Contribution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(departmentEClass, Department.class, "Department", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getDepartment_Name(), ecorePackage.getEString(), "name", null, 0, 1, Department.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getDepartment_SubDepartments(), this.getDepartment(), this.getDepartment_ParentDepartment(), "subDepartments", null, 0, -1, Department.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getDepartment_Employees(), this.getEmployee(), this.getEmployee_Department(), "employees", null, 0, -1, Department.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getDepartment_ParentDepartment(), this.getDepartment(), this.getDepartment_SubDepartments(), "parentDepartment", null, 0, 1, Department.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getDepartment_Manager(), this.getManager(), this.getManager_ManagedDepartment(), "manager", null, 1, 1, Department.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); addEOperation(departmentEClass, this.getDepartment(), "allSubDepartments", 0, -1, IS_UNIQUE, IS_ORDERED); initEClass(projectEClass, Project.class, "Project", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getProject_Name(), ecorePackage.getEString(), "name", null, 0, 1, Project.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getProject_DepartmentWide(), ecorePackage.getEBoolean(), "departmentWide", null, 0, 1, Project.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getProject_ProjectTeam(), this.getEmployee(), this.getEmployee_Projects(), "projectTeam", null, 0, -1, Project.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getProject_Lead(), this.getManager(), this.getManager_Leads(), "lead", null, 0, 1, Project.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getProject_Contributions(), this.getContribution(), this.getContribution_Project(), "contributions", null, 0, -1, Project.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); // Create resource createResource(eNS_URI); } } //TOEPackageImpl