/**
* <copyright>
* </copyright>
*
* $Id$
*/
package domain.impl;
import domain.ApiClass;
import domain.CodeElement;
import domain.Dependency;
import domain.DependencyGraph;
import domain.DependencyType;
import domain.DomainFactory;
import domain.DomainPackage;
import domain.Field;
import domain.GraphElement;
import domain.Method;
import domain.Product;
import domain.TransitiveDependency;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EGenericType;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.impl.EPackageImpl;
/**
* <!-- begin-user-doc -->
* An implementation of the model <b>Package</b>.
* <!-- end-user-doc -->
* @generated
*/
public class DomainPackageImpl extends EPackageImpl implements DomainPackage {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass graphElementEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass codeElementEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass productEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass apiClassEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass methodEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass fieldEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass dependencyEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass dependencyGraphEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass transitiveDependencyEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EEnum dependencyTypeEEnum = 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 domain.DomainPackage#eNS_URI
* @see #init()
* @generated
*/
private DomainPackageImpl() {
super(eNS_URI, DomainFactory.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 DomainPackage#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 DomainPackage init() {
if (isInited) return (DomainPackage)EPackage.Registry.INSTANCE.getEPackage(DomainPackage.eNS_URI);
// Obtain or create and register package
DomainPackageImpl theDomainPackage = (DomainPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof DomainPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new DomainPackageImpl());
isInited = true;
// Create package meta-data objects
theDomainPackage.createPackageContents();
// Initialize created meta-data
theDomainPackage.initializePackageContents();
// Mark meta-data to indicate it can't be changed
theDomainPackage.freeze();
// Update the registry and return the package
EPackage.Registry.INSTANCE.put(DomainPackage.eNS_URI, theDomainPackage);
return theDomainPackage;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getGraphElement() {
return graphElementEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getGraphElement_Uuid() {
return (EAttribute)graphElementEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getCodeElement() {
return codeElementEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getCodeElement_IncomingDeps() {
return (EReference)codeElementEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getCodeElement_OutgoingDeps() {
return (EReference)codeElementEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getCodeElement_Versions() {
return (EAttribute)codeElementEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getCodeElement_Id() {
return (EAttribute)codeElementEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getProduct() {
return productEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getProduct_Name() {
return (EAttribute)productEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getProduct_Classes() {
return (EReference)productEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getProduct_ContainingFolders() {
return (EAttribute)productEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getProduct_ProductPath() {
return (EAttribute)productEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getApiClass() {
return apiClassEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getApiClass_SimpleName() {
return (EAttribute)apiClassEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getApiClass_PackageName() {
return (EAttribute)apiClassEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getApiClass_Methods() {
return (EReference)apiClassEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getApiClass_Fields() {
return (EReference)apiClassEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getApiClass_Product() {
return (EReference)apiClassEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getApiClass_Extends() {
return (EAttribute)apiClassEClass.getEStructuralFeatures().get(5);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getApiClass_Implements() {
return (EAttribute)apiClassEClass.getEStructuralFeatures().get(6);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getApiClass_Private() {
return (EAttribute)apiClassEClass.getEStructuralFeatures().get(7);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getApiClass_Anonymous() {
return (EAttribute)apiClassEClass.getEStructuralFeatures().get(8);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getApiClass_ReferencedClasses() {
return (EAttribute)apiClassEClass.getEStructuralFeatures().get(9);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getMethod() {
return methodEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getMethod_Signature() {
return (EAttribute)methodEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getMethod_ApiClass() {
return (EReference)methodEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getMethod_Private() {
return (EAttribute)methodEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getMethod_ReferencedFields() {
return (EAttribute)methodEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getMethod_ReferencedMethods() {
return (EAttribute)methodEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getMethod_Static() {
return (EAttribute)methodEClass.getEStructuralFeatures().get(5);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getField() {
return fieldEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getField_Signature() {
return (EAttribute)fieldEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getField_ApiClass() {
return (EReference)fieldEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getField_Private() {
return (EAttribute)fieldEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getDependency() {
return dependencyEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getDependency_From() {
return (EReference)dependencyEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getDependency_To() {
return (EReference)dependencyEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getDependency_Type() {
return (EAttribute)dependencyEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getDependencyGraph() {
return dependencyGraphEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getDependencyGraph_Dependencies() {
return (EReference)dependencyGraphEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getDependencyGraph_Products() {
return (EReference)dependencyGraphEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getTransitiveDependency() {
return transitiveDependencyEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getTransitiveDependency_TransitiveFrom() {
return (EReference)transitiveDependencyEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EEnum getDependencyType() {
return dependencyTypeEEnum;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public DomainFactory getDomainFactory() {
return (DomainFactory)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
graphElementEClass = createEClass(GRAPH_ELEMENT);
createEAttribute(graphElementEClass, GRAPH_ELEMENT__UUID);
codeElementEClass = createEClass(CODE_ELEMENT);
createEReference(codeElementEClass, CODE_ELEMENT__INCOMING_DEPS);
createEReference(codeElementEClass, CODE_ELEMENT__OUTGOING_DEPS);
createEAttribute(codeElementEClass, CODE_ELEMENT__VERSIONS);
createEAttribute(codeElementEClass, CODE_ELEMENT__ID);
productEClass = createEClass(PRODUCT);
createEAttribute(productEClass, PRODUCT__NAME);
createEReference(productEClass, PRODUCT__CLASSES);
createEAttribute(productEClass, PRODUCT__CONTAINING_FOLDERS);
createEAttribute(productEClass, PRODUCT__PRODUCT_PATH);
apiClassEClass = createEClass(API_CLASS);
createEAttribute(apiClassEClass, API_CLASS__SIMPLE_NAME);
createEAttribute(apiClassEClass, API_CLASS__PACKAGE_NAME);
createEReference(apiClassEClass, API_CLASS__METHODS);
createEReference(apiClassEClass, API_CLASS__FIELDS);
createEReference(apiClassEClass, API_CLASS__PRODUCT);
createEAttribute(apiClassEClass, API_CLASS__EXTENDS);
createEAttribute(apiClassEClass, API_CLASS__IMPLEMENTS);
createEAttribute(apiClassEClass, API_CLASS__PRIVATE);
createEAttribute(apiClassEClass, API_CLASS__ANONYMOUS);
createEAttribute(apiClassEClass, API_CLASS__REFERENCED_CLASSES);
methodEClass = createEClass(METHOD);
createEAttribute(methodEClass, METHOD__SIGNATURE);
createEReference(methodEClass, METHOD__API_CLASS);
createEAttribute(methodEClass, METHOD__PRIVATE);
createEAttribute(methodEClass, METHOD__REFERENCED_FIELDS);
createEAttribute(methodEClass, METHOD__REFERENCED_METHODS);
createEAttribute(methodEClass, METHOD__STATIC);
fieldEClass = createEClass(FIELD);
createEAttribute(fieldEClass, FIELD__SIGNATURE);
createEReference(fieldEClass, FIELD__API_CLASS);
createEAttribute(fieldEClass, FIELD__PRIVATE);
dependencyEClass = createEClass(DEPENDENCY);
createEReference(dependencyEClass, DEPENDENCY__FROM);
createEReference(dependencyEClass, DEPENDENCY__TO);
createEAttribute(dependencyEClass, DEPENDENCY__TYPE);
dependencyGraphEClass = createEClass(DEPENDENCY_GRAPH);
createEReference(dependencyGraphEClass, DEPENDENCY_GRAPH__DEPENDENCIES);
createEReference(dependencyGraphEClass, DEPENDENCY_GRAPH__PRODUCTS);
transitiveDependencyEClass = createEClass(TRANSITIVE_DEPENDENCY);
createEReference(transitiveDependencyEClass, TRANSITIVE_DEPENDENCY__TRANSITIVE_FROM);
// Create enums
dependencyTypeEEnum = createEEnum(DEPENDENCY_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);
// Create type parameters
// Set bounds for type parameters
// Add supertypes to classes
codeElementEClass.getESuperTypes().add(this.getGraphElement());
productEClass.getESuperTypes().add(this.getCodeElement());
apiClassEClass.getESuperTypes().add(this.getCodeElement());
methodEClass.getESuperTypes().add(this.getCodeElement());
fieldEClass.getESuperTypes().add(this.getCodeElement());
dependencyEClass.getESuperTypes().add(this.getGraphElement());
transitiveDependencyEClass.getESuperTypes().add(this.getDependency());
// Initialize classes and features; add operations and parameters
initEClass(graphElementEClass, GraphElement.class, "GraphElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getGraphElement_Uuid(), ecorePackage.getEString(), "uuid", null, 1, 1, GraphElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(codeElementEClass, CodeElement.class, "CodeElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getCodeElement_IncomingDeps(), this.getDependency(), this.getDependency_To(), "incomingDeps", null, 0, -1, CodeElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getCodeElement_OutgoingDeps(), this.getDependency(), this.getDependency_From(), "outgoingDeps", null, 0, -1, CodeElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getCodeElement_Versions(), ecorePackage.getEString(), "versions", null, 0, -1, CodeElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getCodeElement_Id(), ecorePackage.getELong(), "id", null, 0, 1, CodeElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
addEOperation(codeElementEClass, ecorePackage.getEString(), "getDisplayName", 0, 1, IS_UNIQUE, IS_ORDERED);
initEClass(productEClass, Product.class, "Product", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getProduct_Name(), ecorePackage.getEString(), "name", null, 0, 1, Product.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getProduct_Classes(), this.getApiClass(), this.getApiClass_Product(), "classes", null, 0, -1, Product.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getProduct_ContainingFolders(), ecorePackage.getEString(), "containingFolders", null, 0, 1, Product.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getProduct_ProductPath(), ecorePackage.getEString(), "productPath", null, 0, 1, Product.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(apiClassEClass, ApiClass.class, "ApiClass", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getApiClass_SimpleName(), ecorePackage.getEString(), "simpleName", null, 0, 1, ApiClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getApiClass_PackageName(), ecorePackage.getEString(), "packageName", null, 0, 1, ApiClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getApiClass_Methods(), this.getMethod(), this.getMethod_ApiClass(), "methods", null, 0, -1, ApiClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getApiClass_Fields(), this.getField(), this.getField_ApiClass(), "fields", null, 0, -1, ApiClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getApiClass_Product(), this.getProduct(), this.getProduct_Classes(), "product", null, 1, 1, ApiClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getApiClass_Extends(), ecorePackage.getEString(), "extends", null, 0, 1, ApiClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getApiClass_Implements(), ecorePackage.getEString(), "implements", null, 0, 1, ApiClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getApiClass_Private(), ecorePackage.getEBoolean(), "private", null, 0, 1, ApiClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getApiClass_Anonymous(), ecorePackage.getEBoolean(), "anonymous", null, 0, 1, ApiClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
EGenericType g1 = createEGenericType(ecorePackage.getEEList());
EGenericType g2 = createEGenericType(ecorePackage.getEString());
g1.getETypeArguments().add(g2);
initEAttribute(getApiClass_ReferencedClasses(), g1, "referencedClasses", null, 0, 1, ApiClass.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
addEOperation(apiClassEClass, ecorePackage.getEString(), "getFqName", 0, 1, IS_UNIQUE, IS_ORDERED);
addEOperation(apiClassEClass, ecorePackage.getEString(), "getSourcePath", 0, 1, IS_UNIQUE, IS_ORDERED);
initEClass(methodEClass, Method.class, "Method", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getMethod_Signature(), ecorePackage.getEString(), "signature", null, 0, 1, Method.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getMethod_ApiClass(), this.getApiClass(), this.getApiClass_Methods(), "apiClass", null, 1, 1, Method.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getMethod_Private(), ecorePackage.getEBooleanObject(), "private", null, 0, 1, Method.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
g1 = createEGenericType(ecorePackage.getEEList());
g2 = createEGenericType(ecorePackage.getEString());
g1.getETypeArguments().add(g2);
initEAttribute(getMethod_ReferencedFields(), g1, "referencedFields", null, 0, 1, Method.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
g1 = createEGenericType(ecorePackage.getEEList());
g2 = createEGenericType(ecorePackage.getEString());
g1.getETypeArguments().add(g2);
initEAttribute(getMethod_ReferencedMethods(), g1, "referencedMethods", null, 0, 1, Method.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getMethod_Static(), ecorePackage.getEBoolean(), "static", null, 0, 1, Method.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(fieldEClass, Field.class, "Field", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getField_Signature(), ecorePackage.getEString(), "signature", null, 0, 1, Field.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getField_ApiClass(), this.getApiClass(), this.getApiClass_Fields(), "apiClass", null, 1, 1, Field.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getField_Private(), ecorePackage.getEBoolean(), "private", null, 0, 1, Field.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(dependencyEClass, Dependency.class, "Dependency", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getDependency_From(), this.getCodeElement(), this.getCodeElement_OutgoingDeps(), "from", null, 1, 1, Dependency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getDependency_To(), this.getCodeElement(), this.getCodeElement_IncomingDeps(), "to", null, 1, 1, Dependency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getDependency_Type(), this.getDependencyType(), "type", null, 0, 1, Dependency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(dependencyGraphEClass, DependencyGraph.class, "DependencyGraph", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getDependencyGraph_Dependencies(), this.getDependency(), null, "dependencies", null, 0, -1, DependencyGraph.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getDependencyGraph_Products(), this.getProduct(), null, "products", null, 0, -1, DependencyGraph.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(transitiveDependencyEClass, TransitiveDependency.class, "TransitiveDependency", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getTransitiveDependency_TransitiveFrom(), this.getDependency(), null, "transitiveFrom", null, 0, -1, TransitiveDependency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
// Initialize enums and add enum literals
initEEnum(dependencyTypeEEnum, DependencyType.class, "DependencyType");
addEEnumLiteral(dependencyTypeEEnum, DependencyType.METHOD_CALL);
addEEnumLiteral(dependencyTypeEEnum, DependencyType.FIELD_REF);
addEEnumLiteral(dependencyTypeEEnum, DependencyType.CLASS_DEF);
addEEnumLiteral(dependencyTypeEEnum, DependencyType.INHERITANCE);
addEEnumLiteral(dependencyTypeEEnum, DependencyType.OVERRIDED_FUNC);
addEEnumLiteral(dependencyTypeEEnum, DependencyType.CLASS_INHERITANCE);
addEEnumLiteral(dependencyTypeEEnum, DependencyType.CLASS_USAGE);
// Create resource
createResource(eNS_URI);
// Create annotations
// ExtendedMetaData
createExtendedMetaDataAnnotations();
}
/**
* Initializes the annotations for <b>ExtendedMetaData</b>.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void createExtendedMetaDataAnnotations() {
String source = "ExtendedMetaData";
addAnnotation
(getGraphElement_Uuid(),
source,
new String[] {
"name", "uuid",
"namespace", "http://cern.ch/be/co/devtools-deps-analysis/2.0.0"
});
}
} //DomainPackageImpl