/** * Copyright (c) 2002-2006 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * IBM - Initial API and implementation */ package org.eclipse.emf.java.impl; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; import org.eclipse.emf.ecore.EAttribute; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EDataType; 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; import org.eclipse.emf.java.JClass; import org.eclipse.emf.java.JCompilationUnit; import org.eclipse.emf.java.JField; import org.eclipse.emf.java.JInitializer; import org.eclipse.emf.java.JMember; import org.eclipse.emf.java.JMethod; import org.eclipse.emf.java.JModelElement; import org.eclipse.emf.java.JPackage; import org.eclipse.emf.java.JParameter; import org.eclipse.emf.java.JVisibility; import org.eclipse.emf.java.JavaFactory; import org.eclipse.emf.java.JavaPackage; /** * <!-- begin-user-doc --> * An implementation of the model <b>Package</b>. * <!-- end-user-doc --> * @generated */ public class JavaPackageImpl extends EPackageImpl implements JavaPackage { /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass jClassEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass jCompilationUnitEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass jFieldEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass jInitializerEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass jMemberEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass jMethodEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass jModelElementEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass jParameterEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass jPackageEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EEnum jVisibilityEEnum = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EDataType jNodeEDataType = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EDataType javaClassEDataType = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EDataType javaMethodEDataType = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EDataType javaConstructorEDataType = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EDataType javaFieldEDataType = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EDataType javaPackageEDataType = 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.emf.java.JavaPackage#eNS_URI * @see #init() * @generated */ private JavaPackageImpl() { super(eNS_URI, JavaFactory.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 JavaPackage#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 JavaPackage init() { if (isInited) return (JavaPackage)EPackage.Registry.INSTANCE.getEPackage(JavaPackage.eNS_URI); // Obtain or create and register package JavaPackageImpl theJavaPackage = (JavaPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof JavaPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new JavaPackageImpl()); isInited = true; // Create package meta-data objects theJavaPackage.createPackageContents(); // Initialize created meta-data theJavaPackage.initializePackageContents(); // Mark meta-data to indicate it can't be changed theJavaPackage.freeze(); // Update the registry and return the package EPackage.Registry.INSTANCE.put(JavaPackage.eNS_URI, theJavaPackage); return theJavaPackage; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getJClass() { return jClassEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getJClass_Abstract() { return (EAttribute)jClassEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getJClass_Final() { return (EAttribute)jClassEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getJClass_Interface() { return (EAttribute)jClassEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getJClass_Throwable() { return (EAttribute)jClassEClass.getEStructuralFeatures().get(3); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getJClass_JavaClass() { return (EAttribute)jClassEClass.getEStructuralFeatures().get(4); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getJClass_Fields() { return (EReference)jClassEClass.getEStructuralFeatures().get(5); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getJClass_Methods() { return (EReference)jClassEClass.getEStructuralFeatures().get(6); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getJClass_SuperTypes() { return (EReference)jClassEClass.getEStructuralFeatures().get(7); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getJClass_AllSuperTypes() { return (EReference)jClassEClass.getEStructuralFeatures().get(8); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getJClass_Members() { return (EReference)jClassEClass.getEStructuralFeatures().get(9); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getJClass_ComponentType() { return (EReference)jClassEClass.getEStructuralFeatures().get(10); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getJClass_ArrayType() { return (EReference)jClassEClass.getEStructuralFeatures().get(11); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getJClass_Unit() { return (EReference)jClassEClass.getEStructuralFeatures().get(12); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getJClass_AllMethods() { return (EReference)jClassEClass.getEStructuralFeatures().get(13); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getJClass_AllFields() { return (EReference)jClassEClass.getEStructuralFeatures().get(14); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getJClass_Package() { return (EReference)jClassEClass.getEStructuralFeatures().get(15); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getJClass_Types() { return (EReference)jClassEClass.getEStructuralFeatures().get(16); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getJClass_AllTypes() { return (EReference)jClassEClass.getEStructuralFeatures().get(17); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getJCompilationUnit() { return jCompilationUnitEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getJCompilationUnit_Package() { return (EReference)jCompilationUnitEClass.getEStructuralFeatures().get(5); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getJCompilationUnit_Imports() { return (EAttribute)jCompilationUnitEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getJCompilationUnit_Comment() { return (EAttribute)jCompilationUnitEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getJCompilationUnit_Types() { return (EReference)jCompilationUnitEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getJCompilationUnit_ImportedPackages() { return (EReference)jCompilationUnitEClass.getEStructuralFeatures().get(3); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getJCompilationUnit_ImportedTypes() { return (EReference)jCompilationUnitEClass.getEStructuralFeatures().get(4); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getJField() { return jFieldEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getJField_Final() { return (EAttribute)jFieldEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getJField_Transient() { return (EAttribute)jFieldEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getJField_Volatile() { return (EAttribute)jFieldEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getJField_JavaField() { return (EAttribute)jFieldEClass.getEStructuralFeatures().get(3); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getJField_Initializer() { return (EAttribute)jFieldEClass.getEStructuralFeatures().get(4); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getJField_Type() { return (EReference)jFieldEClass.getEStructuralFeatures().get(5); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getJInitializer() { return jInitializerEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getJInitializer_Body() { return (EAttribute)jInitializerEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getJMember() { return jMemberEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getJMember_Static() { return (EAttribute)jMemberEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getJMember_Visibility() { return (EAttribute)jMemberEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getJMember_Comment() { return (EAttribute)jMemberEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getJMember_ContainingType() { return (EReference)jMemberEClass.getEStructuralFeatures().get(3); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getJMethod() { return jMethodEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getJMethod_Abstract() { return (EAttribute)jMethodEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getJMethod_Final() { return (EAttribute)jMethodEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getJMethod_Native() { return (EAttribute)jMethodEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getJMethod_Synchronized() { return (EAttribute)jMethodEClass.getEStructuralFeatures().get(3); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getJMethod_JavaMethod() { return (EAttribute)jMethodEClass.getEStructuralFeatures().get(4); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getJMethod_Constructor() { return (EAttribute)jMethodEClass.getEStructuralFeatures().get(5); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getJMethod_JavaConstructor() { return (EAttribute)jMethodEClass.getEStructuralFeatures().get(6); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getJMethod_Body() { return (EAttribute)jMethodEClass.getEStructuralFeatures().get(7); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getJMethod_Parameters() { return (EReference)jMethodEClass.getEStructuralFeatures().get(8); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getJMethod_Exceptions() { return (EReference)jMethodEClass.getEStructuralFeatures().get(9); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getJMethod_ReturnType() { return (EReference)jMethodEClass.getEStructuralFeatures().get(10); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getJModelElement() { return jModelElementEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getJModelElement_Name() { return (EAttribute)jModelElementEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getJModelElement_JNode() { return (EAttribute)jModelElementEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getJParameter() { return jParameterEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getJParameter_Final() { return (EAttribute)jParameterEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getJParameter_Method() { return (EReference)jParameterEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getJParameter_Type() { return (EReference)jParameterEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getJPackage() { return jPackageEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getJPackage_JavaPackage() { return (EAttribute)jPackageEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getJPackage_Types() { return (EReference)jPackageEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EEnum getJVisibility() { return jVisibilityEEnum; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EDataType getJNode() { return jNodeEDataType; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EDataType getJavaClass() { return javaClassEDataType; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EDataType getJavaMethod() { return javaMethodEDataType; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EDataType getJavaConstructor() { return javaConstructorEDataType; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EDataType getJavaField() { return javaFieldEDataType; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EDataType getJavaPackage() { return javaPackageEDataType; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public JavaFactory getJavaFactory() { return (JavaFactory)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 jClassEClass = createEClass(JCLASS); createEAttribute(jClassEClass, JCLASS__ABSTRACT); createEAttribute(jClassEClass, JCLASS__FINAL); createEAttribute(jClassEClass, JCLASS__INTERFACE); createEAttribute(jClassEClass, JCLASS__THROWABLE); createEAttribute(jClassEClass, JCLASS__JAVA_CLASS); createEReference(jClassEClass, JCLASS__FIELDS); createEReference(jClassEClass, JCLASS__METHODS); createEReference(jClassEClass, JCLASS__SUPER_TYPES); createEReference(jClassEClass, JCLASS__ALL_SUPER_TYPES); createEReference(jClassEClass, JCLASS__MEMBERS); createEReference(jClassEClass, JCLASS__COMPONENT_TYPE); createEReference(jClassEClass, JCLASS__ARRAY_TYPE); createEReference(jClassEClass, JCLASS__UNIT); createEReference(jClassEClass, JCLASS__ALL_METHODS); createEReference(jClassEClass, JCLASS__ALL_FIELDS); createEReference(jClassEClass, JCLASS__PACKAGE); createEReference(jClassEClass, JCLASS__TYPES); createEReference(jClassEClass, JCLASS__ALL_TYPES); jCompilationUnitEClass = createEClass(JCOMPILATION_UNIT); createEAttribute(jCompilationUnitEClass, JCOMPILATION_UNIT__IMPORTS); createEAttribute(jCompilationUnitEClass, JCOMPILATION_UNIT__COMMENT); createEReference(jCompilationUnitEClass, JCOMPILATION_UNIT__TYPES); createEReference(jCompilationUnitEClass, JCOMPILATION_UNIT__IMPORTED_PACKAGES); createEReference(jCompilationUnitEClass, JCOMPILATION_UNIT__IMPORTED_TYPES); createEReference(jCompilationUnitEClass, JCOMPILATION_UNIT__PACKAGE); jFieldEClass = createEClass(JFIELD); createEAttribute(jFieldEClass, JFIELD__FINAL); createEAttribute(jFieldEClass, JFIELD__TRANSIENT); createEAttribute(jFieldEClass, JFIELD__VOLATILE); createEAttribute(jFieldEClass, JFIELD__JAVA_FIELD); createEAttribute(jFieldEClass, JFIELD__INITIALIZER); createEReference(jFieldEClass, JFIELD__TYPE); jInitializerEClass = createEClass(JINITIALIZER); createEAttribute(jInitializerEClass, JINITIALIZER__BODY); jMemberEClass = createEClass(JMEMBER); createEAttribute(jMemberEClass, JMEMBER__STATIC); createEAttribute(jMemberEClass, JMEMBER__VISIBILITY); createEAttribute(jMemberEClass, JMEMBER__COMMENT); createEReference(jMemberEClass, JMEMBER__CONTAINING_TYPE); jMethodEClass = createEClass(JMETHOD); createEAttribute(jMethodEClass, JMETHOD__ABSTRACT); createEAttribute(jMethodEClass, JMETHOD__FINAL); createEAttribute(jMethodEClass, JMETHOD__NATIVE); createEAttribute(jMethodEClass, JMETHOD__SYNCHRONIZED); createEAttribute(jMethodEClass, JMETHOD__JAVA_METHOD); createEAttribute(jMethodEClass, JMETHOD__CONSTRUCTOR); createEAttribute(jMethodEClass, JMETHOD__JAVA_CONSTRUCTOR); createEAttribute(jMethodEClass, JMETHOD__BODY); createEReference(jMethodEClass, JMETHOD__PARAMETERS); createEReference(jMethodEClass, JMETHOD__EXCEPTIONS); createEReference(jMethodEClass, JMETHOD__RETURN_TYPE); jModelElementEClass = createEClass(JMODEL_ELEMENT); createEAttribute(jModelElementEClass, JMODEL_ELEMENT__NAME); createEAttribute(jModelElementEClass, JMODEL_ELEMENT__JNODE); jPackageEClass = createEClass(JPACKAGE); createEAttribute(jPackageEClass, JPACKAGE__JAVA_PACKAGE); createEReference(jPackageEClass, JPACKAGE__TYPES); jParameterEClass = createEClass(JPARAMETER); createEAttribute(jParameterEClass, JPARAMETER__FINAL); createEReference(jParameterEClass, JPARAMETER__METHOD); createEReference(jParameterEClass, JPARAMETER__TYPE); // Create enums jVisibilityEEnum = createEEnum(JVISIBILITY); // Create data types javaClassEDataType = createEDataType(JAVA_CLASS); javaConstructorEDataType = createEDataType(JAVA_CONSTRUCTOR); javaFieldEDataType = createEDataType(JAVA_FIELD); javaMethodEDataType = createEDataType(JAVA_METHOD); javaPackageEDataType = createEDataType(JAVA_PACKAGE); jNodeEDataType = createEDataType(JNODE); } /** * <!-- 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 addETypeParameter(javaClassEDataType, "T"); addETypeParameter(javaConstructorEDataType, "T"); // Set bounds for type parameters // Add supertypes to classes jClassEClass.getESuperTypes().add(this.getJMember()); jCompilationUnitEClass.getESuperTypes().add(this.getJModelElement()); jFieldEClass.getESuperTypes().add(this.getJMember()); jInitializerEClass.getESuperTypes().add(this.getJMember()); jMemberEClass.getESuperTypes().add(this.getJModelElement()); jMethodEClass.getESuperTypes().add(this.getJMember()); jPackageEClass.getESuperTypes().add(this.getJModelElement()); jParameterEClass.getESuperTypes().add(this.getJModelElement()); // Initialize classes and features; add operations and parameters initEClass(jClassEClass, JClass.class, "JClass", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getJClass_Abstract(), ecorePackage.getEBoolean(), "abstract", null, 0, 1, JClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getJClass_Final(), ecorePackage.getEBoolean(), "final", null, 0, 1, JClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getJClass_Interface(), ecorePackage.getEBoolean(), "interface", null, 0, 1, JClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getJClass_Throwable(), ecorePackage.getEBoolean(), "throwable", null, 0, 1, JClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); EGenericType g1 = createEGenericType(this.getJavaClass()); EGenericType g2 = createEGenericType(); g1.getETypeArguments().add(g2); initEAttribute(getJClass_JavaClass(), g1, "javaClass", null, 0, 1, JClass.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getJClass_Fields(), this.getJField(), null, "fields", null, 0, -1, JClass.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getJClass_Methods(), this.getJMethod(), null, "methods", null, 0, -1, JClass.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getJClass_SuperTypes(), this.getJClass(), null, "superTypes", null, 0, -1, JClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getJClass_AllSuperTypes(), this.getJClass(), null, "allSuperTypes", null, 0, -1, JClass.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getJClass_Members(), this.getJMember(), this.getJMember_ContainingType(), "members", null, 0, -1, JClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getJClass_ComponentType(), this.getJClass(), this.getJClass_ArrayType(), "componentType", null, 0, 1, JClass.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getJClass_ArrayType(), this.getJClass(), this.getJClass_ComponentType(), "arrayType", null, 0, 1, JClass.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getJClass_Unit(), this.getJCompilationUnit(), this.getJCompilationUnit_Types(), "unit", null, 0, 1, JClass.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getJClass_AllMethods(), this.getJMethod(), null, "allMethods", null, 0, -1, JClass.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getJClass_AllFields(), this.getJField(), null, "allFields", null, 0, -1, JClass.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getJClass_Package(), this.getJPackage(), this.getJPackage_Types(), "package", null, 0, 1, JClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getJClass_Types(), this.getJClass(), null, "types", null, 0, -1, JClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getJClass_AllTypes(), this.getJClass(), null, "allTypes", null, 0, -1, JClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(jCompilationUnitEClass, JCompilationUnit.class, "JCompilationUnit", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getJCompilationUnit_Imports(), ecorePackage.getEString(), "imports", null, 0, -1, JCompilationUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getJCompilationUnit_Comment(), ecorePackage.getEString(), "comment", null, 0, 1, JCompilationUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getJCompilationUnit_Types(), this.getJClass(), this.getJClass_Unit(), "types", null, 0, -1, JCompilationUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getJCompilationUnit_ImportedPackages(), this.getJPackage(), null, "importedPackages", null, 0, -1, JCompilationUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getJCompilationUnit_ImportedTypes(), this.getJClass(), null, "importedTypes", null, 0, -1, JCompilationUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getJCompilationUnit_Package(), this.getJPackage(), null, "package", null, 0, 1, JCompilationUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(jFieldEClass, JField.class, "JField", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getJField_Final(), ecorePackage.getEBoolean(), "final", null, 0, 1, JField.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getJField_Transient(), ecorePackage.getEBoolean(), "transient", null, 0, 1, JField.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getJField_Volatile(), ecorePackage.getEBoolean(), "volatile", null, 0, 1, JField.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getJField_JavaField(), this.getJavaField(), "javaField", null, 0, 1, JField.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getJField_Initializer(), ecorePackage.getEString(), "initializer", null, 0, 1, JField.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getJField_Type(), this.getJClass(), null, "type", null, 0, 1, JField.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(jInitializerEClass, JInitializer.class, "JInitializer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getJInitializer_Body(), ecorePackage.getEString(), "body", null, 0, 1, JInitializer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(jMemberEClass, JMember.class, "JMember", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getJMember_Static(), ecorePackage.getEBoolean(), "static", null, 0, 1, JMember.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getJMember_Visibility(), this.getJVisibility(), "visibility", null, 0, 1, JMember.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getJMember_Comment(), ecorePackage.getEString(), "comment", null, 0, 1, JMember.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getJMember_ContainingType(), this.getJClass(), this.getJClass_Members(), "containingType", null, 0, 1, JMember.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(jMethodEClass, JMethod.class, "JMethod", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getJMethod_Abstract(), ecorePackage.getEBoolean(), "abstract", null, 0, 1, JMethod.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getJMethod_Final(), ecorePackage.getEBoolean(), "final", null, 0, 1, JMethod.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getJMethod_Native(), ecorePackage.getEBoolean(), "native", null, 0, 1, JMethod.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getJMethod_Synchronized(), ecorePackage.getEBoolean(), "synchronized", null, 0, 1, JMethod.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getJMethod_JavaMethod(), this.getJavaMethod(), "javaMethod", null, 0, 1, JMethod.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getJMethod_Constructor(), ecorePackage.getEBoolean(), "constructor", null, 0, 1, JMethod.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); g1 = createEGenericType(this.getJavaConstructor()); g2 = createEGenericType(); g1.getETypeArguments().add(g2); initEAttribute(getJMethod_JavaConstructor(), g1, "javaConstructor", null, 0, 1, JMethod.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getJMethod_Body(), ecorePackage.getEString(), "body", null, 0, 1, JMethod.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getJMethod_Parameters(), this.getJParameter(), this.getJParameter_Method(), "parameters", null, 0, -1, JMethod.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getJMethod_Exceptions(), this.getJClass(), null, "exceptions", null, 0, -1, JMethod.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getJMethod_ReturnType(), this.getJClass(), null, "returnType", null, 0, 1, JMethod.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(jModelElementEClass, JModelElement.class, "JModelElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getJModelElement_Name(), ecorePackage.getEString(), "name", null, 0, 1, JModelElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getJModelElement_JNode(), this.getJNode(), "jNode", null, 0, 1, JModelElement.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(jPackageEClass, JPackage.class, "JPackage", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getJPackage_JavaPackage(), this.getJavaPackage(), "javaPackage", null, 0, 1, JPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getJPackage_Types(), this.getJClass(), this.getJClass_Package(), "types", null, 0, -1, JPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(jParameterEClass, JParameter.class, "JParameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getJParameter_Final(), ecorePackage.getEBoolean(), "final", null, 0, 1, JParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getJParameter_Method(), this.getJMethod(), this.getJMethod_Parameters(), "method", null, 0, 1, JParameter.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getJParameter_Type(), this.getJClass(), null, "type", null, 0, 1, JParameter.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(jVisibilityEEnum, JVisibility.class, "JVisibility"); addEEnumLiteral(jVisibilityEEnum, JVisibility.PUBLIC_LITERAL); addEEnumLiteral(jVisibilityEEnum, JVisibility.PROTECTED_LITERAL); addEEnumLiteral(jVisibilityEEnum, JVisibility.PRIVATE_LITERAL); addEEnumLiteral(jVisibilityEEnum, JVisibility.PACKAGE_LITERAL); // Initialize data types initEDataType(javaClassEDataType, Class.class, "JavaClass", !IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); initEDataType(javaConstructorEDataType, Constructor.class, "JavaConstructor", !IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); initEDataType(javaFieldEDataType, Field.class, "JavaField", !IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); initEDataType(javaMethodEDataType, Method.class, "JavaMethod", !IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); initEDataType(javaPackageEDataType, Package.class, "JavaPackage", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); initEDataType(jNodeEDataType, Object.class, "JNode", !IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); // Create resource createResource(eNS_URI); } } //JavaPackageImpl