blob: babf0e2e0413bf6c98d9b5b13441ff21b47cf7b3 [file] [log] [blame]
/**
* * Copyright (c) 2006-2010 Istvan Rath and Daniel Varro
* * All rights reserved. This program and the accompanying materials
* * are made available under the terms of the Eclipse Public License v1.0
* * which accompanies this distribution, and is available at
* * http://www.eclipse.org/legal/epl-v10.html
* *
* * Contributors:
* * Istvan Rath, Daniel Varro - initial API and implementation
*
*/
package org.eclipse.viatra2.gtasmmodel.vpm.editmodel.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.viatra2.gtasmmodel.gtasm.metamodel.asm.compoundRules.CompoundRulesPackage;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.compoundRules.impl.CompoundRulesPackageImpl;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.core.CorePackage;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.core.impl.CorePackageImpl;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.definitions.DefinitionsPackage;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.definitions.impl.DefinitionsPackageImpl;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.enums.EnumsPackage;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.enums.impl.EnumsPackageImpl;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.simpleRules.SimpleRulesPackage;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.simpleRules.impl.SimpleRulesPackageImpl;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.terms.TermsPackage;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.terms.builtInFunctions.BuiltInFunctionsPackage;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.terms.builtInFunctions.impl.BuiltInFunctionsPackageImpl;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.terms.impl.TermsPackageImpl;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.gt.GtPackage;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.gt.impl.GtPackageImpl;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.modelmanagement.manipulationRules.copymove.CopymovePackage;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.modelmanagement.manipulationRules.copymove.impl.CopymovePackageImpl;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.modelmanagement.manipulationRules.creation.CreationPackage;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.modelmanagement.manipulationRules.creation.impl.CreationPackageImpl;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.modelmanagement.manipulationRules.deletion.DeletionPackage;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.modelmanagement.manipulationRules.deletion.impl.DeletionPackageImpl;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.modelmanagement.manipulationRules.update.UpdatePackage;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.modelmanagement.manipulationRules.update.impl.UpdatePackageImpl;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.modelmanagement.queryFunctions.QueryFunctionsPackage;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.modelmanagement.queryFunctions.impl.QueryFunctionsPackageImpl;
import org.eclipse.viatra2.gtasmmodel.vpm.editmodel.EditmodelFactory;
import org.eclipse.viatra2.gtasmmodel.vpm.editmodel.EditmodelPackage;
import org.eclipse.viatra2.gtasmmodel.vpm.editmodel.Entity;
import org.eclipse.viatra2.gtasmmodel.vpm.editmodel.ModelElement;
import org.eclipse.viatra2.gtasmmodel.vpm.editmodel.Relation;
import org.eclipse.viatra2.gtasmmodel.vpm.editmodel.Relationship;
import org.eclipse.viatra2.gtasmmodel.vpm.editmodel.SupertypeOf;
import org.eclipse.viatra2.gtasmmodel.vpm.editmodel.TypeOf;
import org.eclipse.viatra2.gtasmmodel.vpm.editmodel.VPMElement;
/**
* <!-- begin-user-doc -->
* An implementation of the model <b>Package</b>.
* <!-- end-user-doc -->
* @generated
*/
public class EditmodelPackageImpl extends EPackageImpl implements EditmodelPackage
{
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static final String copyright = " * Copyright (c) 2006-2010 Istvan Rath and Daniel Varro\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n *\r\n * Contributors:\r\n * Istvan Rath, Daniel Varro - initial API and implementation\r\n";
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass modelElementEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass relationshipEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass entityEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass relationEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass typeOfEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass supertypeOfEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass vpmElementEClass = 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.viatra2.gtasmmodel.vpm.editmodel.EditmodelPackage#eNS_URI
* @see #init()
* @generated
*/
private EditmodelPackageImpl()
{
super(eNS_URI, EditmodelFactory.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 EditmodelPackage#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 EditmodelPackage init()
{
if (isInited) return (EditmodelPackage)EPackage.Registry.INSTANCE.getEPackage(EditmodelPackage.eNS_URI);
// Obtain or create and register package
EditmodelPackageImpl theEditmodelPackage = (EditmodelPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof EditmodelPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new EditmodelPackageImpl());
isInited = true;
// Obtain or create and register interdependencies
QueryFunctionsPackageImpl theQueryFunctionsPackage = (QueryFunctionsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(QueryFunctionsPackage.eNS_URI) instanceof QueryFunctionsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(QueryFunctionsPackage.eNS_URI) : QueryFunctionsPackage.eINSTANCE);
DeletionPackageImpl theDeletionPackage = (DeletionPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DeletionPackage.eNS_URI) instanceof DeletionPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DeletionPackage.eNS_URI) : DeletionPackage.eINSTANCE);
CreationPackageImpl theCreationPackage = (CreationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CreationPackage.eNS_URI) instanceof CreationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CreationPackage.eNS_URI) : CreationPackage.eINSTANCE);
CopymovePackageImpl theCopymovePackage = (CopymovePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CopymovePackage.eNS_URI) instanceof CopymovePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CopymovePackage.eNS_URI) : CopymovePackage.eINSTANCE);
UpdatePackageImpl theUpdatePackage = (UpdatePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UpdatePackage.eNS_URI) instanceof UpdatePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UpdatePackage.eNS_URI) : UpdatePackage.eINSTANCE);
DefinitionsPackageImpl theDefinitionsPackage = (DefinitionsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DefinitionsPackage.eNS_URI) instanceof DefinitionsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DefinitionsPackage.eNS_URI) : DefinitionsPackage.eINSTANCE);
CorePackageImpl theCorePackage = (CorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) instanceof CorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) : CorePackage.eINSTANCE);
SimpleRulesPackageImpl theSimpleRulesPackage = (SimpleRulesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SimpleRulesPackage.eNS_URI) instanceof SimpleRulesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SimpleRulesPackage.eNS_URI) : SimpleRulesPackage.eINSTANCE);
CompoundRulesPackageImpl theCompoundRulesPackage = (CompoundRulesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CompoundRulesPackage.eNS_URI) instanceof CompoundRulesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CompoundRulesPackage.eNS_URI) : CompoundRulesPackage.eINSTANCE);
EnumsPackageImpl theEnumsPackage = (EnumsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EnumsPackage.eNS_URI) instanceof EnumsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EnumsPackage.eNS_URI) : EnumsPackage.eINSTANCE);
TermsPackageImpl theTermsPackage = (TermsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TermsPackage.eNS_URI) instanceof TermsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TermsPackage.eNS_URI) : TermsPackage.eINSTANCE);
BuiltInFunctionsPackageImpl theBuiltInFunctionsPackage = (BuiltInFunctionsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BuiltInFunctionsPackage.eNS_URI) instanceof BuiltInFunctionsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BuiltInFunctionsPackage.eNS_URI) : BuiltInFunctionsPackage.eINSTANCE);
GtPackageImpl theGtPackage = (GtPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GtPackage.eNS_URI) instanceof GtPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GtPackage.eNS_URI) : GtPackage.eINSTANCE);
// Create package meta-data objects
theEditmodelPackage.createPackageContents();
theQueryFunctionsPackage.createPackageContents();
theDeletionPackage.createPackageContents();
theCreationPackage.createPackageContents();
theCopymovePackage.createPackageContents();
theUpdatePackage.createPackageContents();
theDefinitionsPackage.createPackageContents();
theCorePackage.createPackageContents();
theSimpleRulesPackage.createPackageContents();
theCompoundRulesPackage.createPackageContents();
theEnumsPackage.createPackageContents();
theTermsPackage.createPackageContents();
theBuiltInFunctionsPackage.createPackageContents();
theGtPackage.createPackageContents();
// Initialize created meta-data
theEditmodelPackage.initializePackageContents();
theQueryFunctionsPackage.initializePackageContents();
theDeletionPackage.initializePackageContents();
theCreationPackage.initializePackageContents();
theCopymovePackage.initializePackageContents();
theUpdatePackage.initializePackageContents();
theDefinitionsPackage.initializePackageContents();
theCorePackage.initializePackageContents();
theSimpleRulesPackage.initializePackageContents();
theCompoundRulesPackage.initializePackageContents();
theEnumsPackage.initializePackageContents();
theTermsPackage.initializePackageContents();
theBuiltInFunctionsPackage.initializePackageContents();
theGtPackage.initializePackageContents();
// Mark meta-data to indicate it can't be changed
theEditmodelPackage.freeze();
// Update the registry and return the package
EPackage.Registry.INSTANCE.put(EditmodelPackage.eNS_URI, theEditmodelPackage);
return theEditmodelPackage;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getModelElement()
{
return modelElementEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getModelElement_Type()
{
return (EReference)modelElementEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getModelElement_Instance()
{
return (EReference)modelElementEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getModelElement_Supertype()
{
return (EReference)modelElementEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getModelElement_Subtype()
{
return (EReference)modelElementEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getModelElement_RelationsTo()
{
return (EReference)modelElementEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getModelElement_SubRelationships()
{
return (EReference)modelElementEClass.getEStructuralFeatures().get(5);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getModelElement_SuperRelationships()
{
return (EReference)modelElementEClass.getEStructuralFeatures().get(6);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getModelElement_TypeStr()
{
return (EAttribute)modelElementEClass.getEStructuralFeatures().get(7);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getModelElement_Name()
{
return (EAttribute)modelElementEClass.getEStructuralFeatures().get(8);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getModelElement_NamespaceStr()
{
return (EAttribute)modelElementEClass.getEStructuralFeatures().get(9);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getModelElement_RealElement()
{
return (EAttribute)modelElementEClass.getEStructuralFeatures().get(10);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getModelElement_RelationsFrom()
{
return (EReference)modelElementEClass.getEStructuralFeatures().get(11);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getRelationship()
{
return relationshipEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getRelationship_ClientStr()
{
return (EAttribute)relationshipEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getRelationship_SupplierStr()
{
return (EAttribute)relationshipEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getRelationship_Client()
{
return (EReference)relationshipEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getRelationship_Supplier()
{
return (EReference)relationshipEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getEntity()
{
return entityEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getEntity_Parent()
{
return (EReference)entityEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getEntity_Components()
{
return (EReference)entityEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getEntity_Value()
{
return (EAttribute)entityEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getRelation()
{
return relationEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getRelation_To()
{
return (EReference)relationEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getRelation_FromStr()
{
return (EAttribute)relationEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getRelation_ToStr()
{
return (EAttribute)relationEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getRelation_From()
{
return (EReference)relationEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getTypeOf()
{
return typeOfEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getSupertypeOf()
{
return supertypeOfEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getVPMElement()
{
return vpmElementEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getVPMElement_VariableReferences()
{
return (EReference)vpmElementEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EditmodelFactory getEditmodelFactory()
{
return (EditmodelFactory)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
modelElementEClass = createEClass(MODEL_ELEMENT);
createEReference(modelElementEClass, MODEL_ELEMENT__TYPE);
createEReference(modelElementEClass, MODEL_ELEMENT__INSTANCE);
createEReference(modelElementEClass, MODEL_ELEMENT__SUPERTYPE);
createEReference(modelElementEClass, MODEL_ELEMENT__SUBTYPE);
createEReference(modelElementEClass, MODEL_ELEMENT__RELATIONS_TO);
createEReference(modelElementEClass, MODEL_ELEMENT__SUB_RELATIONSHIPS);
createEReference(modelElementEClass, MODEL_ELEMENT__SUPER_RELATIONSHIPS);
createEAttribute(modelElementEClass, MODEL_ELEMENT__TYPE_STR);
createEAttribute(modelElementEClass, MODEL_ELEMENT__NAME);
createEAttribute(modelElementEClass, MODEL_ELEMENT__NAMESPACE_STR);
createEAttribute(modelElementEClass, MODEL_ELEMENT__REAL_ELEMENT);
createEReference(modelElementEClass, MODEL_ELEMENT__RELATIONS_FROM);
relationshipEClass = createEClass(RELATIONSHIP);
createEAttribute(relationshipEClass, RELATIONSHIP__CLIENT_STR);
createEAttribute(relationshipEClass, RELATIONSHIP__SUPPLIER_STR);
createEReference(relationshipEClass, RELATIONSHIP__CLIENT);
createEReference(relationshipEClass, RELATIONSHIP__SUPPLIER);
entityEClass = createEClass(ENTITY);
createEReference(entityEClass, ENTITY__PARENT);
createEReference(entityEClass, ENTITY__COMPONENTS);
createEAttribute(entityEClass, ENTITY__VALUE);
relationEClass = createEClass(RELATION);
createEReference(relationEClass, RELATION__TO);
createEAttribute(relationEClass, RELATION__FROM_STR);
createEAttribute(relationEClass, RELATION__TO_STR);
createEReference(relationEClass, RELATION__FROM);
typeOfEClass = createEClass(TYPE_OF);
supertypeOfEClass = createEClass(SUPERTYPE_OF);
vpmElementEClass = createEClass(VPM_ELEMENT);
createEReference(vpmElementEClass, VPM_ELEMENT__VARIABLE_REFERENCES);
}
/**
* <!-- 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
CorePackage theCorePackage = (CorePackage)EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI);
TermsPackage theTermsPackage = (TermsPackage)EPackage.Registry.INSTANCE.getEPackage(TermsPackage.eNS_URI);
// Create type parameters
// Set bounds for type parameters
// Add supertypes to classes
modelElementEClass.getESuperTypes().add(this.getVPMElement());
relationshipEClass.getESuperTypes().add(this.getVPMElement());
entityEClass.getESuperTypes().add(this.getModelElement());
relationEClass.getESuperTypes().add(this.getModelElement());
typeOfEClass.getESuperTypes().add(this.getRelationship());
supertypeOfEClass.getESuperTypes().add(this.getRelationship());
vpmElementEClass.getESuperTypes().add(theCorePackage.getAnnotatedElement());
// Initialize classes and features; add operations and parameters
initEClass(modelElementEClass, ModelElement.class, "ModelElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getModelElement_Type(), this.getModelElement(), this.getModelElement_Instance(), "type", null, 0, -1, ModelElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getModelElement_Instance(), this.getModelElement(), this.getModelElement_Type(), "instance", null, 0, -1, ModelElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getModelElement_Supertype(), this.getModelElement(), this.getModelElement_Subtype(), "supertype", null, 0, -1, ModelElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getModelElement_Subtype(), this.getModelElement(), this.getModelElement_Supertype(), "subtype", null, 0, -1, ModelElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getModelElement_RelationsTo(), this.getRelation(), this.getRelation_To(), "relationsTo", null, 0, -1, ModelElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getModelElement_SubRelationships(), this.getRelationship(), this.getRelationship_Supplier(), "subRelationships", null, 0, -1, ModelElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getModelElement_SuperRelationships(), this.getRelationship(), this.getRelationship_Client(), "superRelationships", null, 0, -1, ModelElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getModelElement_TypeStr(), ecorePackage.getEString(), "typeStr", null, 1, 1, ModelElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getModelElement_Name(), ecorePackage.getEString(), "name", null, 1, 1, ModelElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getModelElement_NamespaceStr(), ecorePackage.getEString(), "namespaceStr", null, 1, 1, ModelElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getModelElement_RealElement(), ecorePackage.getEString(), "realElement", null, 0, 1, ModelElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getModelElement_RelationsFrom(), this.getRelation(), this.getRelation_From(), "relationsFrom", null, 0, -1, ModelElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(relationshipEClass, Relationship.class, "Relationship", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getRelationship_ClientStr(), ecorePackage.getEString(), "clientStr", null, 1, 1, Relationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getRelationship_SupplierStr(), ecorePackage.getEString(), "supplierStr", null, 1, 1, Relationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getRelationship_Client(), this.getModelElement(), this.getModelElement_SuperRelationships(), "client", null, 0, 1, Relationship.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getRelationship_Supplier(), this.getModelElement(), this.getModelElement_SubRelationships(), "supplier", null, 1, 1, Relationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(entityEClass, Entity.class, "Entity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getEntity_Parent(), this.getEntity(), this.getEntity_Components(), "parent", null, 0, 1, Entity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getEntity_Components(), this.getEntity(), this.getEntity_Parent(), "components", null, 0, -1, Entity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getEntity_Value(), ecorePackage.getEString(), "value", null, 1, 1, Entity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(relationEClass, Relation.class, "Relation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getRelation_To(), this.getModelElement(), this.getModelElement_RelationsTo(), "to", null, 1, 1, Relation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getRelation_FromStr(), ecorePackage.getEString(), "fromStr", null, 1, 1, Relation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getRelation_ToStr(), ecorePackage.getEString(), "toStr", null, 1, 1, Relation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getRelation_From(), this.getModelElement(), this.getModelElement_RelationsFrom(), "from", null, 0, 1, Relation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(typeOfEClass, TypeOf.class, "TypeOf", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(supertypeOfEClass, SupertypeOf.class, "SupertypeOf", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(vpmElementEClass, VPMElement.class, "VPMElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getVPMElement_VariableReferences(), theTermsPackage.getVariableReference(), null, "variableReferences", null, 0, -1, VPMElement.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);
}
} //EditmodelPackageImpl