/** * <copyright> * </copyright> * * $Id$ */ package org.reuseware.air.language.cmsl.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.reuseware.air.language.cmsl.Annotation; import org.reuseware.air.language.cmsl.Arbitrary; import org.reuseware.air.language.cmsl.BaseDeclaration; import org.reuseware.air.language.cmsl.BaseLanguageReference; import org.reuseware.air.language.cmsl.BaseReference; import org.reuseware.air.language.cmsl.Cardinality; import org.reuseware.air.language.cmsl.CmslFactory; import org.reuseware.air.language.cmsl.CmslPackage; import org.reuseware.air.language.cmsl.Construct; import org.reuseware.air.language.cmsl.ConstructReference; import org.reuseware.air.language.cmsl.Definition; import org.reuseware.air.language.cmsl.DefinitionChoice; import org.reuseware.air.language.cmsl.DefinitionConstruct; import org.reuseware.air.language.cmsl.DefinitionList; import org.reuseware.air.language.cmsl.DefinitionPart; import org.reuseware.air.language.cmsl.ExtensionDeclaration; import org.reuseware.air.language.cmsl.ExtensionProgram; import org.reuseware.air.language.cmsl.ExtensionStatement; import org.reuseware.air.language.cmsl.Fragtypes; import org.reuseware.air.language.cmsl.GrammarExtension; import org.reuseware.air.language.cmsl.GrammarExtensionUnit; import org.reuseware.air.language.cmsl.Injection; import org.reuseware.air.language.cmsl.MoreThanOne; import org.reuseware.air.language.cmsl.NonTerminal; import org.reuseware.air.language.cmsl.NonTerminalIdentifier; import org.reuseware.air.language.cmsl.Reference; import org.reuseware.air.language.cmsl.Role; import org.reuseware.air.language.cmsl.Slotify; import org.reuseware.air.language.cmsl.UpperLevelReference; import org.reuseware.air.language.cmsl.ZeroOne; /** * <!-- begin-user-doc --> * An implementation of the model <b>Package</b>. * <!-- end-user-doc --> * @generated */ public class CmslPackageImpl extends EPackageImpl implements CmslPackage { /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass extensionStatementEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass grammarExtensionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass extensionProgramEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass referenceEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass upperLevelReferenceEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass baseReferenceEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass fragtypesEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass extensionDeclarationEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass definitionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass arbitraryEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass annotationEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass injectionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass definitionListEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass roleEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass nonTerminalEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass definitionChoiceEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass constructReferenceEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass nonTerminalIdentifierEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass grammarExtensionUnitEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass constructEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass moreThanOneEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass cardinalityEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass definitionConstructEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass slotifyEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass baseDeclarationEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass definitionPartEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass baseLanguageReferenceEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass zeroOneEClass = 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.reuseware.air.language.cmsl.CmslPackage#eNS_URI * @see #init() * @generated */ private CmslPackageImpl() { super(eNS_URI, CmslFactory.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. Simple * dependencies are satisfied by calling this method on all * dependent packages before doing anything else. This method drives * initialization for interdependent packages directly, in parallel * with this package, itself. * <p>Of this package and its interdependencies, all packages which * have not yet been registered by their URI values are first created * and registered. The packages are then initialized in two steps: * meta-model objects for all of the packages are created before any * are initialized, since one package's meta-model objects may refer to * those of another. * <p>Invocation of this method will not affect any packages that have * already been initialized. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #eNS_URI * @see #createPackageContents() * @see #initializePackageContents() * @generated */ public static CmslPackage init() { if (isInited) return (CmslPackage)EPackage.Registry.INSTANCE.getEPackage(CmslPackage.eNS_URI); // Obtain or create and register package CmslPackageImpl theCmslPackage = (CmslPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof CmslPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new CmslPackageImpl()); isInited = true; // Create package meta-data objects theCmslPackage.createPackageContents(); // Initialize created meta-data theCmslPackage.initializePackageContents(); // Mark meta-data to indicate it can't be changed theCmslPackage.freeze(); return theCmslPackage; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getExtensionStatement() { return extensionStatementEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getGrammarExtension() { return grammarExtensionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getGrammarExtension_Unit() { return (EReference)grammarExtensionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getExtensionProgram() { return extensionProgramEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getExtensionProgram_Base() { return (EReference)extensionProgramEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getExtensionProgram_Extension() { return (EReference)extensionProgramEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getExtensionProgram_Statements() { return (EReference)extensionProgramEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getReference() { return referenceEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getReference_Base() { return (EReference)referenceEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getReference_Cardinality() { return (EReference)referenceEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getUpperLevelReference() { return upperLevelReferenceEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getUpperLevelReference_Upper() { return (EReference)upperLevelReferenceEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getBaseReference() { return baseReferenceEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getFragtypes() { return fragtypesEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getFragtypes_Fragtype() { return (EReference)fragtypesEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getExtensionDeclaration() { return extensionDeclarationEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getExtensionDeclaration_Name() { return (EAttribute)extensionDeclarationEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getExtensionDeclaration_Nsuri() { return (EAttribute)extensionDeclarationEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getExtensionDeclaration_Nsprefix() { return (EAttribute)extensionDeclarationEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getExtensionDeclaration_Targeturl() { return (EAttribute)extensionDeclarationEClass.getEStructuralFeatures().get(3); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getDefinition() { return definitionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getArbitrary() { return arbitraryEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getAnnotation() { return annotationEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getAnnotation_Source() { return (EReference)annotationEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getAnnotation_Target() { return (EReference)annotationEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getInjection() { return injectionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getInjection_Source() { return (EReference)injectionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getInjection_Target() { return (EReference)injectionEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getDefinitionList() { return definitionListEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getDefinitionList_Refs() { return (EReference)definitionListEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getRole() { return roleEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getRole_Value() { return (EAttribute)roleEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getNonTerminal() { return nonTerminalEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getDefinitionChoice() { return definitionChoiceEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getDefinitionChoice_NewConstruct() { return (EReference)definitionChoiceEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getDefinitionChoice_Choice() { return (EReference)definitionChoiceEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getConstructReference() { return constructReferenceEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getNonTerminalIdentifier() { return nonTerminalIdentifierEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getNonTerminalIdentifier_Value() { return (EAttribute)nonTerminalIdentifierEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getGrammarExtensionUnit() { return grammarExtensionUnitEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getConstruct() { return constructEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getConstruct_Name() { return (EReference)constructEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getConstruct_Cardinality() { return (EReference)constructEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getMoreThanOne() { return moreThanOneEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getCardinality() { return cardinalityEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getDefinitionConstruct() { return definitionConstructEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getDefinitionConstruct_NewConstruct() { return (EReference)definitionConstructEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getDefinitionConstruct_Definition() { return (EReference)definitionConstructEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSlotify() { return slotifyEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSlotify_Construct() { return (EReference)slotifyEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getBaseDeclaration() { return baseDeclarationEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getBaseDeclaration_Name() { return (EAttribute)baseDeclarationEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getBaseDeclaration_Nsuri() { return (EAttribute)baseDeclarationEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getBaseDeclaration_Sourceurl() { return (EAttribute)baseDeclarationEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getDefinitionPart() { return definitionPartEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getDefinitionPart_Rolename() { return (EReference)definitionPartEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getDefinitionPart_Construct() { return (EReference)definitionPartEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getDefinitionPart_Annotation() { return (EReference)definitionPartEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getBaseLanguageReference() { return baseLanguageReferenceEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getBaseLanguageReference_Language() { return (EAttribute)baseLanguageReferenceEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getBaseLanguageReference_Base() { return (EReference)baseLanguageReferenceEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getZeroOne() { return zeroOneEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public CmslFactory getCmslFactory() { return (CmslFactory)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 extensionStatementEClass = createEClass(EXTENSION_STATEMENT); grammarExtensionEClass = createEClass(GRAMMAR_EXTENSION); createEReference(grammarExtensionEClass, GRAMMAR_EXTENSION__UNIT); extensionProgramEClass = createEClass(EXTENSION_PROGRAM); createEReference(extensionProgramEClass, EXTENSION_PROGRAM__BASE); createEReference(extensionProgramEClass, EXTENSION_PROGRAM__EXTENSION); createEReference(extensionProgramEClass, EXTENSION_PROGRAM__STATEMENTS); referenceEClass = createEClass(REFERENCE); createEReference(referenceEClass, REFERENCE__BASE); createEReference(referenceEClass, REFERENCE__CARDINALITY); upperLevelReferenceEClass = createEClass(UPPER_LEVEL_REFERENCE); createEReference(upperLevelReferenceEClass, UPPER_LEVEL_REFERENCE__UPPER); baseReferenceEClass = createEClass(BASE_REFERENCE); fragtypesEClass = createEClass(FRAGTYPES); createEReference(fragtypesEClass, FRAGTYPES__FRAGTYPE); extensionDeclarationEClass = createEClass(EXTENSION_DECLARATION); createEAttribute(extensionDeclarationEClass, EXTENSION_DECLARATION__NAME); createEAttribute(extensionDeclarationEClass, EXTENSION_DECLARATION__NSURI); createEAttribute(extensionDeclarationEClass, EXTENSION_DECLARATION__NSPREFIX); createEAttribute(extensionDeclarationEClass, EXTENSION_DECLARATION__TARGETURL); definitionEClass = createEClass(DEFINITION); arbitraryEClass = createEClass(ARBITRARY); annotationEClass = createEClass(ANNOTATION); createEReference(annotationEClass, ANNOTATION__SOURCE); createEReference(annotationEClass, ANNOTATION__TARGET); injectionEClass = createEClass(INJECTION); createEReference(injectionEClass, INJECTION__SOURCE); createEReference(injectionEClass, INJECTION__TARGET); definitionListEClass = createEClass(DEFINITION_LIST); createEReference(definitionListEClass, DEFINITION_LIST__REFS); roleEClass = createEClass(ROLE); createEAttribute(roleEClass, ROLE__VALUE); nonTerminalEClass = createEClass(NON_TERMINAL); definitionChoiceEClass = createEClass(DEFINITION_CHOICE); createEReference(definitionChoiceEClass, DEFINITION_CHOICE__NEW_CONSTRUCT); createEReference(definitionChoiceEClass, DEFINITION_CHOICE__CHOICE); constructReferenceEClass = createEClass(CONSTRUCT_REFERENCE); nonTerminalIdentifierEClass = createEClass(NON_TERMINAL_IDENTIFIER); createEAttribute(nonTerminalIdentifierEClass, NON_TERMINAL_IDENTIFIER__VALUE); grammarExtensionUnitEClass = createEClass(GRAMMAR_EXTENSION_UNIT); constructEClass = createEClass(CONSTRUCT); createEReference(constructEClass, CONSTRUCT__NAME); createEReference(constructEClass, CONSTRUCT__CARDINALITY); moreThanOneEClass = createEClass(MORE_THAN_ONE); cardinalityEClass = createEClass(CARDINALITY); definitionConstructEClass = createEClass(DEFINITION_CONSTRUCT); createEReference(definitionConstructEClass, DEFINITION_CONSTRUCT__NEW_CONSTRUCT); createEReference(definitionConstructEClass, DEFINITION_CONSTRUCT__DEFINITION); slotifyEClass = createEClass(SLOTIFY); createEReference(slotifyEClass, SLOTIFY__CONSTRUCT); baseDeclarationEClass = createEClass(BASE_DECLARATION); createEAttribute(baseDeclarationEClass, BASE_DECLARATION__NAME); createEAttribute(baseDeclarationEClass, BASE_DECLARATION__NSURI); createEAttribute(baseDeclarationEClass, BASE_DECLARATION__SOURCEURL); definitionPartEClass = createEClass(DEFINITION_PART); createEReference(definitionPartEClass, DEFINITION_PART__ROLENAME); createEReference(definitionPartEClass, DEFINITION_PART__CONSTRUCT); createEReference(definitionPartEClass, DEFINITION_PART__ANNOTATION); baseLanguageReferenceEClass = createEClass(BASE_LANGUAGE_REFERENCE); createEAttribute(baseLanguageReferenceEClass, BASE_LANGUAGE_REFERENCE__LANGUAGE); createEReference(baseLanguageReferenceEClass, BASE_LANGUAGE_REFERENCE__BASE); zeroOneEClass = createEClass(ZERO_ONE); } /** * <!-- 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); // Add supertypes to classes extensionProgramEClass.getESuperTypes().add(this.getGrammarExtensionUnit()); referenceEClass.getESuperTypes().add(this.getConstructReference()); upperLevelReferenceEClass.getESuperTypes().add(this.getConstructReference()); fragtypesEClass.getESuperTypes().add(this.getExtensionStatement()); definitionEClass.getESuperTypes().add(this.getExtensionStatement()); arbitraryEClass.getESuperTypes().add(this.getCardinality()); annotationEClass.getESuperTypes().add(this.getExtensionStatement()); injectionEClass.getESuperTypes().add(this.getExtensionStatement()); definitionChoiceEClass.getESuperTypes().add(this.getDefinition()); nonTerminalIdentifierEClass.getESuperTypes().add(this.getNonTerminal()); constructEClass.getESuperTypes().add(this.getConstructReference()); moreThanOneEClass.getESuperTypes().add(this.getCardinality()); definitionConstructEClass.getESuperTypes().add(this.getDefinition()); slotifyEClass.getESuperTypes().add(this.getExtensionStatement()); baseLanguageReferenceEClass.getESuperTypes().add(this.getBaseReference()); zeroOneEClass.getESuperTypes().add(this.getCardinality()); // Initialize classes and features; add operations and parameters initEClass(extensionStatementEClass, ExtensionStatement.class, "ExtensionStatement", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(grammarExtensionEClass, GrammarExtension.class, "GrammarExtension", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getGrammarExtension_Unit(), this.getGrammarExtensionUnit(), null, "unit", null, 1, 1, GrammarExtension.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(extensionProgramEClass, ExtensionProgram.class, "ExtensionProgram", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getExtensionProgram_Base(), this.getBaseDeclaration(), null, "base", null, 1, 1, ExtensionProgram.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getExtensionProgram_Extension(), this.getExtensionDeclaration(), null, "extension", null, 1, 1, ExtensionProgram.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getExtensionProgram_Statements(), this.getExtensionStatement(), null, "statements", null, 0, -1, ExtensionProgram.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(referenceEClass, Reference.class, "Reference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getReference_Base(), this.getBaseReference(), null, "base", null, 1, 1, Reference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getReference_Cardinality(), this.getCardinality(), null, "cardinality", null, 0, 1, Reference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(upperLevelReferenceEClass, UpperLevelReference.class, "UpperLevelReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getUpperLevelReference_Upper(), this.getNonTerminal(), null, "upper", null, 1, 1, UpperLevelReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(baseReferenceEClass, BaseReference.class, "BaseReference", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(fragtypesEClass, Fragtypes.class, "Fragtypes", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getFragtypes_Fragtype(), this.getConstructReference(), null, "fragtype", null, 0, -1, Fragtypes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(extensionDeclarationEClass, ExtensionDeclaration.class, "ExtensionDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getExtensionDeclaration_Name(), ecorePackage.getEString(), "name", null, 1, 1, ExtensionDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getExtensionDeclaration_Nsuri(), ecorePackage.getEString(), "nsuri", null, 0, 1, ExtensionDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getExtensionDeclaration_Nsprefix(), ecorePackage.getEString(), "nsprefix", null, 0, 1, ExtensionDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getExtensionDeclaration_Targeturl(), ecorePackage.getEString(), "targeturl", null, 0, 1, ExtensionDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(definitionEClass, Definition.class, "Definition", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(arbitraryEClass, Arbitrary.class, "Arbitrary", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(annotationEClass, Annotation.class, "Annotation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getAnnotation_Source(), this.getNonTerminal(), null, "source", null, 1, 1, Annotation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getAnnotation_Target(), this.getNonTerminal(), null, "target", null, 1, 1, Annotation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(injectionEClass, Injection.class, "Injection", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getInjection_Source(), this.getNonTerminal(), null, "source", null, 1, 1, Injection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getInjection_Target(), this.getBaseReference(), null, "target", null, 1, 1, Injection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(definitionListEClass, DefinitionList.class, "DefinitionList", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getDefinitionList_Refs(), this.getDefinitionPart(), null, "refs", null, 1, -1, DefinitionList.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(roleEClass, Role.class, "Role", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getRole_Value(), ecorePackage.getEString(), "value", null, 1, 1, Role.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(nonTerminalEClass, NonTerminal.class, "NonTerminal", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(definitionChoiceEClass, DefinitionChoice.class, "DefinitionChoice", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getDefinitionChoice_NewConstruct(), this.getNonTerminal(), null, "newConstruct", null, 1, 1, DefinitionChoice.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getDefinitionChoice_Choice(), this.getNonTerminal(), null, "choice", null, 0, -1, DefinitionChoice.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(constructReferenceEClass, ConstructReference.class, "ConstructReference", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(nonTerminalIdentifierEClass, NonTerminalIdentifier.class, "NonTerminalIdentifier", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getNonTerminalIdentifier_Value(), ecorePackage.getEString(), "value", null, 1, 1, NonTerminalIdentifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(grammarExtensionUnitEClass, GrammarExtensionUnit.class, "GrammarExtensionUnit", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(constructEClass, Construct.class, "Construct", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getConstruct_Name(), this.getNonTerminal(), null, "name", null, 1, 1, Construct.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getConstruct_Cardinality(), this.getCardinality(), null, "cardinality", null, 0, 1, Construct.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(moreThanOneEClass, MoreThanOne.class, "MoreThanOne", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(cardinalityEClass, Cardinality.class, "Cardinality", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(definitionConstructEClass, DefinitionConstruct.class, "DefinitionConstruct", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getDefinitionConstruct_NewConstruct(), this.getNonTerminal(), null, "newConstruct", null, 1, 1, DefinitionConstruct.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getDefinitionConstruct_Definition(), this.getDefinitionList(), null, "definition", null, 0, 1, DefinitionConstruct.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(slotifyEClass, Slotify.class, "Slotify", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getSlotify_Construct(), this.getBaseReference(), null, "construct", null, 1, 1, Slotify.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(baseDeclarationEClass, BaseDeclaration.class, "BaseDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getBaseDeclaration_Name(), ecorePackage.getEString(), "name", null, 1, 1, BaseDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getBaseDeclaration_Nsuri(), ecorePackage.getEString(), "nsuri", null, 1, 1, BaseDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getBaseDeclaration_Sourceurl(), ecorePackage.getEString(), "sourceurl", null, 0, 1, BaseDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(definitionPartEClass, DefinitionPart.class, "DefinitionPart", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getDefinitionPart_Rolename(), this.getRole(), null, "rolename", null, 1, 1, DefinitionPart.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getDefinitionPart_Construct(), this.getConstructReference(), null, "construct", null, 1, 1, DefinitionPart.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getDefinitionPart_Annotation(), this.getUpperLevelReference(), null, "annotation", null, 0, 1, DefinitionPart.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(baseLanguageReferenceEClass, BaseLanguageReference.class, "BaseLanguageReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getBaseLanguageReference_Language(), ecorePackage.getEString(), "language", null, 1, 1, BaseLanguageReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getBaseLanguageReference_Base(), this.getNonTerminal(), null, "base", null, 1, 1, BaseLanguageReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(zeroOneEClass, ZeroOne.class, "ZeroOne", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); // Create resource createResource(eNS_URI); } } //CmslPackageImpl