/** * Copyright (c) 2012 BMW Car IT and others. * 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 */ package org.jnario.feature.feature.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.xtend.core.xtend.XtendPackage; import org.eclipse.xtext.xtype.XtypePackage; import org.jnario.JnarioPackage; import org.jnario.feature.feature.And; import org.jnario.feature.feature.AndReference; import org.jnario.feature.feature.Background; import org.jnario.feature.feature.But; import org.jnario.feature.feature.ButReference; import org.jnario.feature.feature.Feature; import org.jnario.feature.feature.FeatureFactory; import org.jnario.feature.feature.FeatureFile; import org.jnario.feature.feature.FeaturePackage; import org.jnario.feature.feature.Given; import org.jnario.feature.feature.GivenReference; import org.jnario.feature.feature.Scenario; import org.jnario.feature.feature.Step; import org.jnario.feature.feature.StepImplementation; import org.jnario.feature.feature.StepReference; import org.jnario.feature.feature.Then; import org.jnario.feature.feature.ThenReference; import org.jnario.feature.feature.When; import org.jnario.feature.feature.WhenReference; /** * <!-- begin-user-doc --> * An implementation of the model <b>Package</b>. * <!-- end-user-doc --> * @generated */ public class FeaturePackageImpl extends EPackageImpl implements FeaturePackage { /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass featureEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass backgroundEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass scenarioEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass stepEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass givenEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass whenEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass thenEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass andEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass featureFileEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass givenReferenceEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass whenReferenceEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass thenReferenceEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass andReferenceEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass stepReferenceEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass stepImplementationEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass butEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass butReferenceEClass = 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.jnario.feature.feature.FeaturePackage#eNS_URI * @see #init() * @generated */ private FeaturePackageImpl() { super(eNS_URI, FeatureFactory.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 FeaturePackage#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 FeaturePackage init() { if (isInited) return (FeaturePackage)EPackage.Registry.INSTANCE.getEPackage(FeaturePackage.eNS_URI); // Obtain or create and register package FeaturePackageImpl theFeaturePackage = (FeaturePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof FeaturePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new FeaturePackageImpl()); isInited = true; // Initialize simple dependencies JnarioPackage.eINSTANCE.eClass(); XtypePackage.eINSTANCE.eClass(); // Create package meta-data objects theFeaturePackage.createPackageContents(); // Initialize created meta-data theFeaturePackage.initializePackageContents(); // Mark meta-data to indicate it can't be changed theFeaturePackage.freeze(); // Update the registry and return the package EPackage.Registry.INSTANCE.put(FeaturePackage.eNS_URI, theFeaturePackage); return theFeaturePackage; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getFeature() { return featureEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getFeature_Description() { return (EAttribute)featureEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getFeature_Scenarios() { return (EReference)featureEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getFeature_Background() { return (EReference)featureEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getBackground() { return backgroundEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getScenario() { return scenarioEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getStep() { return stepEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getGiven() { return givenEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getWhen() { return whenEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getThen() { return thenEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getAnd() { return andEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getFeatureFile() { return featureFileEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getGivenReference() { return givenReferenceEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getWhenReference() { return whenReferenceEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getThenReference() { return thenReferenceEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getAndReference() { return andReferenceEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getStepReference() { return stepReferenceEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getStepReference_Reference() { return (EReference)stepReferenceEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getStepReference_SyntheticStepReference() { return (EReference)stepReferenceEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getStepImplementation() { return stepImplementationEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getBut() { return butEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getButReference() { return butReferenceEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public FeatureFactory getFeatureFactory() { return (FeatureFactory)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 featureEClass = createEClass(FEATURE); createEAttribute(featureEClass, FEATURE__DESCRIPTION); createEReference(featureEClass, FEATURE__SCENARIOS); createEReference(featureEClass, FEATURE__BACKGROUND); backgroundEClass = createEClass(BACKGROUND); scenarioEClass = createEClass(SCENARIO); stepEClass = createEClass(STEP); givenEClass = createEClass(GIVEN); whenEClass = createEClass(WHEN); thenEClass = createEClass(THEN); andEClass = createEClass(AND); featureFileEClass = createEClass(FEATURE_FILE); givenReferenceEClass = createEClass(GIVEN_REFERENCE); whenReferenceEClass = createEClass(WHEN_REFERENCE); thenReferenceEClass = createEClass(THEN_REFERENCE); andReferenceEClass = createEClass(AND_REFERENCE); stepReferenceEClass = createEClass(STEP_REFERENCE); createEReference(stepReferenceEClass, STEP_REFERENCE__REFERENCE); createEReference(stepReferenceEClass, STEP_REFERENCE__SYNTHETIC_STEP_REFERENCE); stepImplementationEClass = createEClass(STEP_IMPLEMENTATION); butEClass = createEClass(BUT); butReferenceEClass = createEClass(BUT_REFERENCE); } /** * <!-- 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 JnarioPackage theJnarioPackage = (JnarioPackage)EPackage.Registry.INSTANCE.getEPackage(JnarioPackage.eNS_URI); XtendPackage theXtendPackage = (XtendPackage)EPackage.Registry.INSTANCE.getEPackage(XtendPackage.eNS_URI); // Create type parameters // Set bounds for type parameters // Add supertypes to classes featureEClass.getESuperTypes().add(theJnarioPackage.getSpecification()); backgroundEClass.getESuperTypes().add(this.getScenario()); scenarioEClass.getESuperTypes().add(theXtendPackage.getXtendClass()); scenarioEClass.getESuperTypes().add(theJnarioPackage.getExecutable()); stepEClass.getESuperTypes().add(theXtendPackage.getXtendFunction()); stepEClass.getESuperTypes().add(theJnarioPackage.getExecutable()); givenEClass.getESuperTypes().add(this.getStepImplementation()); whenEClass.getESuperTypes().add(this.getStepImplementation()); thenEClass.getESuperTypes().add(this.getStepImplementation()); andEClass.getESuperTypes().add(this.getStepImplementation()); featureFileEClass.getESuperTypes().add(theXtendPackage.getXtendFile()); givenReferenceEClass.getESuperTypes().add(this.getStepReference()); whenReferenceEClass.getESuperTypes().add(this.getStepReference()); thenReferenceEClass.getESuperTypes().add(this.getStepReference()); andReferenceEClass.getESuperTypes().add(this.getStepReference()); stepReferenceEClass.getESuperTypes().add(this.getStep()); stepImplementationEClass.getESuperTypes().add(this.getStep()); butEClass.getESuperTypes().add(this.getStepImplementation()); butReferenceEClass.getESuperTypes().add(this.getStepReference()); // Initialize classes and features; add operations and parameters initEClass(featureEClass, Feature.class, "Feature", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getFeature_Description(), ecorePackage.getEString(), "description", null, 0, 1, Feature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getFeature_Scenarios(), this.getScenario(), null, "scenarios", null, 0, -1, Feature.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); initEReference(getFeature_Background(), this.getBackground(), null, "background", null, 0, 1, Feature.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); initEClass(backgroundEClass, Background.class, "Background", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(scenarioEClass, Scenario.class, "Scenario", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); addEOperation(scenarioEClass, this.getStep(), "getSteps", 0, -1, IS_UNIQUE, IS_ORDERED); addEOperation(scenarioEClass, this.getStep(), "getPendingSteps", 0, -1, IS_UNIQUE, IS_ORDERED); initEClass(stepEClass, Step.class, "Step", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(givenEClass, Given.class, "Given", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(whenEClass, When.class, "When", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(thenEClass, Then.class, "Then", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(andEClass, And.class, "And", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(featureFileEClass, FeatureFile.class, "FeatureFile", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(givenReferenceEClass, GivenReference.class, "GivenReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(whenReferenceEClass, WhenReference.class, "WhenReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(thenReferenceEClass, ThenReference.class, "ThenReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(andReferenceEClass, AndReference.class, "AndReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(stepReferenceEClass, StepReference.class, "StepReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getStepReference_Reference(), this.getStepImplementation(), null, "reference", null, 0, 1, StepReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getStepReference_SyntheticStepReference(), this.getStep(), null, "syntheticStepReference", null, 0, 1, StepReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(stepImplementationEClass, StepImplementation.class, "StepImplementation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(butEClass, But.class, "But", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(butReferenceEClass, ButReference.class, "ButReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); // Create resource createResource(eNS_URI); } } //FeaturePackageImpl