/**
* <copyright>
* </copyright>
*
* $Id$
*/
package org.reuseware.air.language.abstractsyntax.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.EcorePackage;
import org.eclipse.emf.ecore.impl.EPackageImpl;
import org.reuseware.air.language.abstractsyntax.ASProgram;
import org.reuseware.air.language.abstractsyntax.ASStatement;
import org.reuseware.air.language.abstractsyntax.ASUnit;
import org.reuseware.air.language.abstractsyntax.AbstractSyntax;
import org.reuseware.air.language.abstractsyntax.AbstractsyntaxFactory;
import org.reuseware.air.language.abstractsyntax.AbstractsyntaxPackage;
import org.reuseware.air.language.abstractsyntax.Attribute;
import org.reuseware.air.language.abstractsyntax.Cardinality;
import org.reuseware.air.language.abstractsyntax.ConcreteNodeDefinition;
import org.reuseware.air.language.abstractsyntax.Containment;
import org.reuseware.air.language.abstractsyntax.Definition;
import org.reuseware.air.language.abstractsyntax.ExternalReference;
import org.reuseware.air.language.abstractsyntax.Import;
import org.reuseware.air.language.abstractsyntax.InterfaceNodeDefinition;
import org.reuseware.air.language.abstractsyntax.InternalReference;
import org.reuseware.air.language.abstractsyntax.NodeFeature;
/**
* <!-- begin-user-doc -->
* An implementation of the model <b>Package</b>.
* <!-- end-user-doc -->
* @generated
*/
public class AbstractsyntaxPackageImpl extends EPackageImpl implements AbstractsyntaxPackage {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass abstractSyntaxEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass importEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass asUnitEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass asProgramEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass asStatementEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass definitionEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass concreteNodeDefinitionEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass interfaceNodeDefinitionEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass cardinalityEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass plusEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass starEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass questionmarkEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass nodeFeatureEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass attributeEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass containmentEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass internalReferenceEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass externalReferenceEClass = 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.abstractsyntax.AbstractsyntaxPackage#eNS_URI
* @see #init()
* @generated
*/
private AbstractsyntaxPackageImpl() {
super(eNS_URI, AbstractsyntaxFactory.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 AbstractsyntaxPackage#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 AbstractsyntaxPackage init() {
if (isInited) return (AbstractsyntaxPackage)EPackage.Registry.INSTANCE.getEPackage(AbstractsyntaxPackage.eNS_URI);
// Obtain or create and register package
AbstractsyntaxPackageImpl theAbstractsyntaxPackage = (AbstractsyntaxPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof AbstractsyntaxPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new AbstractsyntaxPackageImpl());
isInited = true;
// Initialize simple dependencies
EcorePackage.eINSTANCE.eClass();
// Create package meta-data objects
theAbstractsyntaxPackage.createPackageContents();
// Initialize created meta-data
theAbstractsyntaxPackage.initializePackageContents();
// Mark meta-data to indicate it can't be changed
theAbstractsyntaxPackage.freeze();
// Update the registry and return the package
EPackage.Registry.INSTANCE.put(AbstractsyntaxPackage.eNS_URI, theAbstractsyntaxPackage);
return theAbstractsyntaxPackage;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getAbstractSyntax() {
return abstractSyntaxEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getAbstractSyntax_Unit() {
return (EReference)abstractSyntaxEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getAbstractSyntax_Nsuri() {
return (EAttribute)abstractSyntaxEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getAbstractSyntax_Nsprefix() {
return (EAttribute)abstractSyntaxEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getAbstractSyntax_Import() {
return (EReference)abstractSyntaxEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getAbstractSyntax_Name() {
return (EAttribute)abstractSyntaxEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getImport() {
return importEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getImport_Prefix() {
return (EAttribute)importEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getImport_EPackage() {
return (EReference)importEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getASUnit() {
return asUnitEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getASProgram() {
return asProgramEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getASProgram_Statement() {
return (EReference)asProgramEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getASStatement() {
return asStatementEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getDefinition() {
return definitionEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getDefinition_Name() {
return (EAttribute)definitionEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getDefinition_Interfaces() {
return (EReference)definitionEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getConcreteNodeDefinition() {
return concreteNodeDefinitionEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getConcreteNodeDefinition_Members() {
return (EReference)concreteNodeDefinitionEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getConcreteNodeDefinition_ESuperClass() {
return (EReference)concreteNodeDefinitionEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getInterfaceNodeDefinition() {
return interfaceNodeDefinitionEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getInterfaceNodeDefinition_Options() {
return (EReference)interfaceNodeDefinitionEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getCardinality() {
return cardinalityEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getPLUS() {
return plusEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getSTAR() {
return starEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getQUESTIONMARK() {
return questionmarkEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getNodeFeature() {
return nodeFeatureEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getNodeFeature_Name() {
return (EAttribute)nodeFeatureEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getNodeFeature_Cardinality() {
return (EReference)nodeFeatureEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getAttribute() {
return attributeEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getAttribute_Type() {
return (EReference)attributeEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getContainment() {
return containmentEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getContainment_Type() {
return (EReference)containmentEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getInternalReference() {
return internalReferenceEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getInternalReference_Type() {
return (EReference)internalReferenceEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getInternalReference_Opposite() {
return (EReference)internalReferenceEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getExternalReference() {
return externalReferenceEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getExternalReference_Type() {
return (EReference)externalReferenceEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public AbstractsyntaxFactory getAbstractsyntaxFactory() {
return (AbstractsyntaxFactory)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
abstractSyntaxEClass = createEClass(ABSTRACT_SYNTAX);
createEReference(abstractSyntaxEClass, ABSTRACT_SYNTAX__UNIT);
createEAttribute(abstractSyntaxEClass, ABSTRACT_SYNTAX__NSURI);
createEAttribute(abstractSyntaxEClass, ABSTRACT_SYNTAX__NSPREFIX);
createEReference(abstractSyntaxEClass, ABSTRACT_SYNTAX__IMPORT);
createEAttribute(abstractSyntaxEClass, ABSTRACT_SYNTAX__NAME);
importEClass = createEClass(IMPORT);
createEAttribute(importEClass, IMPORT__PREFIX);
createEReference(importEClass, IMPORT__EPACKAGE);
asUnitEClass = createEClass(AS_UNIT);
asProgramEClass = createEClass(AS_PROGRAM);
createEReference(asProgramEClass, AS_PROGRAM__STATEMENT);
asStatementEClass = createEClass(AS_STATEMENT);
definitionEClass = createEClass(DEFINITION);
createEAttribute(definitionEClass, DEFINITION__NAME);
createEReference(definitionEClass, DEFINITION__INTERFACES);
concreteNodeDefinitionEClass = createEClass(CONCRETE_NODE_DEFINITION);
createEReference(concreteNodeDefinitionEClass, CONCRETE_NODE_DEFINITION__MEMBERS);
createEReference(concreteNodeDefinitionEClass, CONCRETE_NODE_DEFINITION__ESUPER_CLASS);
interfaceNodeDefinitionEClass = createEClass(INTERFACE_NODE_DEFINITION);
createEReference(interfaceNodeDefinitionEClass, INTERFACE_NODE_DEFINITION__OPTIONS);
cardinalityEClass = createEClass(CARDINALITY);
plusEClass = createEClass(PLUS);
starEClass = createEClass(STAR);
questionmarkEClass = createEClass(QUESTIONMARK);
nodeFeatureEClass = createEClass(NODE_FEATURE);
createEAttribute(nodeFeatureEClass, NODE_FEATURE__NAME);
createEReference(nodeFeatureEClass, NODE_FEATURE__CARDINALITY);
attributeEClass = createEClass(ATTRIBUTE);
createEReference(attributeEClass, ATTRIBUTE__TYPE);
containmentEClass = createEClass(CONTAINMENT);
createEReference(containmentEClass, CONTAINMENT__TYPE);
internalReferenceEClass = createEClass(INTERNAL_REFERENCE);
createEReference(internalReferenceEClass, INTERNAL_REFERENCE__TYPE);
createEReference(internalReferenceEClass, INTERNAL_REFERENCE__OPPOSITE);
externalReferenceEClass = createEClass(EXTERNAL_REFERENCE);
createEReference(externalReferenceEClass, EXTERNAL_REFERENCE__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
EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
// Create type parameters
// Set bounds for type parameters
// Add supertypes to classes
asProgramEClass.getESuperTypes().add(this.getASUnit());
definitionEClass.getESuperTypes().add(this.getASStatement());
concreteNodeDefinitionEClass.getESuperTypes().add(this.getDefinition());
interfaceNodeDefinitionEClass.getESuperTypes().add(this.getDefinition());
plusEClass.getESuperTypes().add(this.getCardinality());
starEClass.getESuperTypes().add(this.getCardinality());
questionmarkEClass.getESuperTypes().add(this.getCardinality());
attributeEClass.getESuperTypes().add(this.getNodeFeature());
containmentEClass.getESuperTypes().add(this.getNodeFeature());
internalReferenceEClass.getESuperTypes().add(this.getNodeFeature());
externalReferenceEClass.getESuperTypes().add(this.getNodeFeature());
// Initialize classes and features; add operations and parameters
initEClass(abstractSyntaxEClass, AbstractSyntax.class, "AbstractSyntax", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getAbstractSyntax_Unit(), this.getASUnit(), null, "unit", null, 1, 1, AbstractSyntax.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getAbstractSyntax_Nsuri(), ecorePackage.getEString(), "nsuri", null, 1, 1, AbstractSyntax.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getAbstractSyntax_Nsprefix(), ecorePackage.getEString(), "nsprefix", null, 1, 1, AbstractSyntax.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getAbstractSyntax_Import(), this.getImport(), null, "import", null, 0, -1, AbstractSyntax.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getAbstractSyntax_Name(), theEcorePackage.getEString(), "name", null, 1, 1, AbstractSyntax.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(importEClass, Import.class, "Import", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getImport_Prefix(), ecorePackage.getEString(), "prefix", null, 1, 1, Import.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getImport_EPackage(), theEcorePackage.getEPackage(), null, "ePackage", null, 1, 1, Import.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(asUnitEClass, ASUnit.class, "ASUnit", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(asProgramEClass, ASProgram.class, "ASProgram", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getASProgram_Statement(), this.getASStatement(), null, "statement", null, 1, -1, ASProgram.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(asStatementEClass, ASStatement.class, "ASStatement", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(definitionEClass, Definition.class, "Definition", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getDefinition_Name(), theEcorePackage.getEString(), "name", null, 1, 1, Definition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getDefinition_Interfaces(), this.getInterfaceNodeDefinition(), this.getInterfaceNodeDefinition_Options(), "interfaces", null, 0, -1, Definition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(concreteNodeDefinitionEClass, ConcreteNodeDefinition.class, "ConcreteNodeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getConcreteNodeDefinition_Members(), this.getNodeFeature(), null, "members", null, 0, -1, ConcreteNodeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getConcreteNodeDefinition_ESuperClass(), theEcorePackage.getEClass(), null, "eSuperClass", null, 0, 1, ConcreteNodeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(interfaceNodeDefinitionEClass, InterfaceNodeDefinition.class, "InterfaceNodeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getInterfaceNodeDefinition_Options(), this.getDefinition(), this.getDefinition_Interfaces(), "options", null, 1, -1, InterfaceNodeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(cardinalityEClass, Cardinality.class, "Cardinality", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(plusEClass, org.reuseware.air.language.abstractsyntax.PLUS.class, "PLUS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(starEClass, org.reuseware.air.language.abstractsyntax.STAR.class, "STAR", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(questionmarkEClass, org.reuseware.air.language.abstractsyntax.QUESTIONMARK.class, "QUESTIONMARK", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(nodeFeatureEClass, NodeFeature.class, "NodeFeature", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getNodeFeature_Name(), theEcorePackage.getEString(), "name", null, 1, 1, NodeFeature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getNodeFeature_Cardinality(), this.getCardinality(), null, "cardinality", null, 0, 1, NodeFeature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(attributeEClass, Attribute.class, "Attribute", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getAttribute_Type(), theEcorePackage.getEDataType(), null, "type", null, 1, 1, Attribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(containmentEClass, Containment.class, "Containment", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getContainment_Type(), this.getDefinition(), null, "type", null, 1, 1, Containment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(internalReferenceEClass, InternalReference.class, "InternalReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getInternalReference_Type(), this.getDefinition(), null, "type", null, 1, 1, InternalReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getInternalReference_Opposite(), this.getInternalReference(), null, "opposite", null, 0, 1, InternalReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(externalReferenceEClass, ExternalReference.class, "ExternalReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getExternalReference_Type(), theEcorePackage.getEClass(), null, "type", null, 1, 1, ExternalReference.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);
}
} //AbstractsyntaxPackageImpl