/** */ package iot2.impl; import iot2.Activity; import iot2.Actuator; import iot2.Board; import iot2.BoardType; import iot2.HWComponent; import iot2.Iot2Factory; import iot2.Iot2Package; import iot2.OperationDef; import iot2.Sensor; import iot2.Sketch; import org.eclipse.emf.ecore.EAttribute; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EEnum; 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 Iot2PackageImpl extends EPackageImpl implements Iot2Package { /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass systemEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass boardEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass sketchEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass hwComponentEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass sensorEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass actuatorEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass activityEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass operationDefEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EEnum boardTypeEEnum = 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 iot2.Iot2Package#eNS_URI * @see #init() * @generated */ private Iot2PackageImpl() { super(eNS_URI, Iot2Factory.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 Iot2Package#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 Iot2Package init() { if (isInited) return (Iot2Package)EPackage.Registry.INSTANCE.getEPackage(Iot2Package.eNS_URI); // Obtain or create and register package Iot2PackageImpl theIot2Package = (Iot2PackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof Iot2PackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new Iot2PackageImpl()); isInited = true; // Create package meta-data objects theIot2Package.createPackageContents(); // Initialize created meta-data theIot2Package.initializePackageContents(); // Mark meta-data to indicate it can't be changed theIot2Package.freeze(); // Update the registry and return the package EPackage.Registry.INSTANCE.put(Iot2Package.eNS_URI, theIot2Package); return theIot2Package; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSystem() { return systemEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getSystem_Name() { return (EAttribute)systemEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSystem_Components() { return (EReference)systemEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSystem_Boards() { return (EReference)systemEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSystem_Sketch() { return (EReference)systemEClass.getEStructuralFeatures().get(3); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getBoard() { return boardEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getBoard_Name() { return (EAttribute)boardEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getBoard_Type() { return (EAttribute)boardEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getBoard_Components() { return (EReference)boardEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSketch() { return sketchEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSketch_Activity() { return (EReference)sketchEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getHWComponent() { return hwComponentEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getHWComponent_Name() { return (EAttribute)hwComponentEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getHWComponent_Services() { return (EReference)hwComponentEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSensor() { return sensorEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getActuator() { return actuatorEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getActivity() { return activityEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getOperationDef() { return operationDefEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EEnum getBoardType() { return boardTypeEEnum; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Iot2Factory getIot2Factory() { return (Iot2Factory)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 systemEClass = createEClass(SYSTEM); createEAttribute(systemEClass, SYSTEM__NAME); createEReference(systemEClass, SYSTEM__COMPONENTS); createEReference(systemEClass, SYSTEM__BOARDS); createEReference(systemEClass, SYSTEM__SKETCH); boardEClass = createEClass(BOARD); createEAttribute(boardEClass, BOARD__NAME); createEAttribute(boardEClass, BOARD__TYPE); createEReference(boardEClass, BOARD__COMPONENTS); sketchEClass = createEClass(SKETCH); createEReference(sketchEClass, SKETCH__ACTIVITY); hwComponentEClass = createEClass(HW_COMPONENT); createEAttribute(hwComponentEClass, HW_COMPONENT__NAME); createEReference(hwComponentEClass, HW_COMPONENT__SERVICES); sensorEClass = createEClass(SENSOR); actuatorEClass = createEClass(ACTUATOR); activityEClass = createEClass(ACTIVITY); operationDefEClass = createEClass(OPERATION_DEF); // Create enums boardTypeEEnum = createEEnum(BOARD_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 sensorEClass.getESuperTypes().add(this.getHWComponent()); actuatorEClass.getESuperTypes().add(this.getHWComponent()); // Initialize classes, features, and operations; add parameters initEClass(systemEClass, iot2.System.class, "System", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getSystem_Name(), ecorePackage.getEString(), "name", null, 0, 1, iot2.System.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getSystem_Components(), this.getHWComponent(), null, "components", null, 0, -1, iot2.System.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getSystem_Boards(), this.getBoard(), null, "boards", null, 0, -1, iot2.System.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getSystem_Sketch(), this.getSketch(), null, "sketch", null, 0, 1, iot2.System.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(boardEClass, Board.class, "Board", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getBoard_Name(), ecorePackage.getEString(), "name", null, 0, 1, Board.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getBoard_Type(), this.getBoardType(), "type", null, 0, 1, Board.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getBoard_Components(), this.getHWComponent(), null, "components", null, 0, -1, Board.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(sketchEClass, Sketch.class, "Sketch", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getSketch_Activity(), this.getActivity(), null, "activity", null, 0, 1, Sketch.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(hwComponentEClass, HWComponent.class, "HWComponent", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getHWComponent_Name(), ecorePackage.getEString(), "name", null, 0, 1, HWComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getHWComponent_Services(), this.getOperationDef(), null, "services", null, 0, -1, HWComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(sensorEClass, Sensor.class, "Sensor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(actuatorEClass, Actuator.class, "Actuator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(activityEClass, Activity.class, "Activity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(operationDefEClass, OperationDef.class, "OperationDef", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); // Initialize enums and add enum literals initEEnum(boardTypeEEnum, BoardType.class, "BoardType"); addEEnumLiteral(boardTypeEEnum, BoardType.RASPBERRY_PI); addEEnumLiteral(boardTypeEEnum, BoardType.ARDUINO); addEEnumLiteral(boardTypeEEnum, BoardType.BEAGLE_BOARD); // Create resource createResource(eNS_URI); } } //Iot2PackageImpl