/** * <copyright> * </copyright> * * $Id$ */ package simulator.scl.impl; 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; import simulator.scl.Action; import simulator.scl.AndCondition; import simulator.scl.Button; import simulator.scl.ChangeDisplay; import simulator.scl.ChangeIndicator; import simulator.scl.ChangeOutputAction; import simulator.scl.Condition; import simulator.scl.ConfigFactory; import simulator.scl.ConfigPackage; import simulator.scl.Configuration; import simulator.scl.Constant; import simulator.scl.DisplayMatchesCondition; import simulator.scl.Displayable; import simulator.scl.EvaluateExpression; import simulator.scl.Expression; import simulator.scl.IncrementTimeVariable; import simulator.scl.IndicatorMatchesCondition; import simulator.scl.Mode; import simulator.scl.NextMode; import simulator.scl.NotCondition; import simulator.scl.OrCondition; import simulator.scl.OutputMatchesCondition; import simulator.scl.SilenceAlarm; import simulator.scl.SoundAlarm; import simulator.scl.StringConstant; import simulator.scl.TimeConstant; import simulator.scl.UnitOfTime; import simulator.scl.Variable; import simulator.scl.VariableComparisonCondition; import simulator.scl.VariableEqualsCondition; /** * <!-- begin-user-doc --> * An implementation of the model <b>Package</b>. * <!-- end-user-doc --> * @generated */ public class ConfigPackageImpl extends EPackageImpl implements ConfigPackage { /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass configurationEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass modeEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass buttonEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass actionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass conditionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass outputMatchesConditionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass andConditionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass orConditionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass notConditionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass displayMatchesConditionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass indicatorMatchesConditionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass variableComparisonConditionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass variableEqualsConditionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass changeOutputActionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass changeDisplayEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass changeIndicatorEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass nextModeEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass soundAlarmEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass silenceAlarmEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass evaluateExpressionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass expressionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass incrementTimeVariableEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass displayableEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass constantEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass stringConstantEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass timeConstantEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass variableEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EEnum unitOfTimeEEnum = 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 simulator.scl.ConfigPackage#eNS_URI * @see #init() * @generated */ private ConfigPackageImpl() { super(eNS_URI, ConfigFactory.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 ConfigPackage#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 ConfigPackage init() { if (isInited) return (ConfigPackage)EPackage.Registry.INSTANCE.getEPackage(ConfigPackage.eNS_URI); // Obtain or create and register package ConfigPackageImpl theConfigPackage = (ConfigPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ConfigPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ConfigPackageImpl()); isInited = true; // Create package meta-data objects theConfigPackage.createPackageContents(); // Initialize created meta-data theConfigPackage.initializePackageContents(); // Mark meta-data to indicate it can't be changed theConfigPackage.freeze(); // Update the registry and return the package EPackage.Registry.INSTANCE.put(ConfigPackage.eNS_URI, theConfigPackage); return theConfigPackage; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getConfiguration() { return configurationEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getConfiguration_Modes() { return (EReference)configurationEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getConfiguration_Variables() { return (EReference)configurationEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getConfiguration_Constants() { return (EReference)configurationEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getConfiguration_Events() { return (EReference)configurationEClass.getEStructuralFeatures().get(3); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getMode() { return modeEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getMode_Name() { return (EAttribute)modeEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getMode_EntryActions() { return (EReference)modeEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getMode_Buttons() { return (EReference)modeEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getButton() { return buttonEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getButton_Name() { return (EAttribute)buttonEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getButton_Behaviour() { return (EReference)buttonEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getAction() { return actionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getAction_Guard() { return (EReference)actionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getCondition() { return conditionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getOutputMatchesCondition() { return outputMatchesConditionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getOutputMatchesCondition_ValueToMatch() { return (EReference)outputMatchesConditionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getAndCondition() { return andConditionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getAndCondition_Subconditions() { return (EReference)andConditionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getOrCondition() { return orConditionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getOrCondition_Subconditions() { return (EReference)orConditionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getNotCondition() { return notConditionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getNotCondition_Subcondition() { return (EReference)notConditionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getDisplayMatchesCondition() { return displayMatchesConditionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getIndicatorMatchesCondition() { return indicatorMatchesConditionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getVariableComparisonCondition() { return variableComparisonConditionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getVariableComparisonCondition_Variable() { return (EReference)variableComparisonConditionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getVariableComparisonCondition_Value() { return (EReference)variableComparisonConditionEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getVariableEqualsCondition() { return variableEqualsConditionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getChangeOutputAction() { return changeOutputActionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getChangeOutputAction_NewValue() { return (EReference)changeOutputActionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getChangeDisplay() { return changeDisplayEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getChangeIndicator() { return changeIndicatorEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getNextMode() { return nextModeEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSoundAlarm() { return soundAlarmEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSilenceAlarm() { return silenceAlarmEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getEvaluateExpression() { return evaluateExpressionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getEvaluateExpression_Expression() { return (EReference)evaluateExpressionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getExpression() { return expressionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getIncrementTimeVariable() { return incrementTimeVariableEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getIncrementTimeVariable_Variable() { return (EReference)incrementTimeVariableEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getIncrementTimeVariable_Unit() { return (EAttribute)incrementTimeVariableEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getDisplayable() { return displayableEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getConstant() { return constantEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getStringConstant() { return stringConstantEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getStringConstant_Value() { return (EAttribute)stringConstantEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getTimeConstant() { return timeConstantEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getTimeConstant_Hours() { return (EAttribute)timeConstantEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getTimeConstant_Minutes() { return (EAttribute)timeConstantEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getVariable() { return variableEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getVariable_Name() { return (EAttribute)variableEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EEnum getUnitOfTime() { return unitOfTimeEEnum; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public ConfigFactory getConfigFactory() { return (ConfigFactory)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 configurationEClass = createEClass(CONFIGURATION); createEReference(configurationEClass, CONFIGURATION__MODES); createEReference(configurationEClass, CONFIGURATION__VARIABLES); createEReference(configurationEClass, CONFIGURATION__CONSTANTS); createEReference(configurationEClass, CONFIGURATION__EVENTS); modeEClass = createEClass(MODE); createEAttribute(modeEClass, MODE__NAME); createEReference(modeEClass, MODE__ENTRY_ACTIONS); createEReference(modeEClass, MODE__BUTTONS); buttonEClass = createEClass(BUTTON); createEAttribute(buttonEClass, BUTTON__NAME); createEReference(buttonEClass, BUTTON__BEHAVIOUR); actionEClass = createEClass(ACTION); createEReference(actionEClass, ACTION__GUARD); conditionEClass = createEClass(CONDITION); outputMatchesConditionEClass = createEClass(OUTPUT_MATCHES_CONDITION); createEReference(outputMatchesConditionEClass, OUTPUT_MATCHES_CONDITION__VALUE_TO_MATCH); andConditionEClass = createEClass(AND_CONDITION); createEReference(andConditionEClass, AND_CONDITION__SUBCONDITIONS); orConditionEClass = createEClass(OR_CONDITION); createEReference(orConditionEClass, OR_CONDITION__SUBCONDITIONS); notConditionEClass = createEClass(NOT_CONDITION); createEReference(notConditionEClass, NOT_CONDITION__SUBCONDITION); displayMatchesConditionEClass = createEClass(DISPLAY_MATCHES_CONDITION); indicatorMatchesConditionEClass = createEClass(INDICATOR_MATCHES_CONDITION); variableComparisonConditionEClass = createEClass(VARIABLE_COMPARISON_CONDITION); createEReference(variableComparisonConditionEClass, VARIABLE_COMPARISON_CONDITION__VARIABLE); createEReference(variableComparisonConditionEClass, VARIABLE_COMPARISON_CONDITION__VALUE); variableEqualsConditionEClass = createEClass(VARIABLE_EQUALS_CONDITION); changeOutputActionEClass = createEClass(CHANGE_OUTPUT_ACTION); createEReference(changeOutputActionEClass, CHANGE_OUTPUT_ACTION__NEW_VALUE); changeDisplayEClass = createEClass(CHANGE_DISPLAY); changeIndicatorEClass = createEClass(CHANGE_INDICATOR); nextModeEClass = createEClass(NEXT_MODE); soundAlarmEClass = createEClass(SOUND_ALARM); silenceAlarmEClass = createEClass(SILENCE_ALARM); evaluateExpressionEClass = createEClass(EVALUATE_EXPRESSION); createEReference(evaluateExpressionEClass, EVALUATE_EXPRESSION__EXPRESSION); expressionEClass = createEClass(EXPRESSION); incrementTimeVariableEClass = createEClass(INCREMENT_TIME_VARIABLE); createEReference(incrementTimeVariableEClass, INCREMENT_TIME_VARIABLE__VARIABLE); createEAttribute(incrementTimeVariableEClass, INCREMENT_TIME_VARIABLE__UNIT); displayableEClass = createEClass(DISPLAYABLE); constantEClass = createEClass(CONSTANT); stringConstantEClass = createEClass(STRING_CONSTANT); createEAttribute(stringConstantEClass, STRING_CONSTANT__VALUE); timeConstantEClass = createEClass(TIME_CONSTANT); createEAttribute(timeConstantEClass, TIME_CONSTANT__HOURS); createEAttribute(timeConstantEClass, TIME_CONSTANT__MINUTES); variableEClass = createEClass(VARIABLE); createEAttribute(variableEClass, VARIABLE__NAME); // Create enums unitOfTimeEEnum = createEEnum(UNIT_OF_TIME); } /** * <!-- 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 outputMatchesConditionEClass.getESuperTypes().add(this.getCondition()); andConditionEClass.getESuperTypes().add(this.getCondition()); orConditionEClass.getESuperTypes().add(this.getCondition()); notConditionEClass.getESuperTypes().add(this.getCondition()); displayMatchesConditionEClass.getESuperTypes().add(this.getOutputMatchesCondition()); indicatorMatchesConditionEClass.getESuperTypes().add(this.getOutputMatchesCondition()); variableComparisonConditionEClass.getESuperTypes().add(this.getCondition()); variableEqualsConditionEClass.getESuperTypes().add(this.getVariableComparisonCondition()); changeOutputActionEClass.getESuperTypes().add(this.getAction()); changeDisplayEClass.getESuperTypes().add(this.getChangeOutputAction()); changeIndicatorEClass.getESuperTypes().add(this.getChangeOutputAction()); nextModeEClass.getESuperTypes().add(this.getAction()); soundAlarmEClass.getESuperTypes().add(this.getAction()); silenceAlarmEClass.getESuperTypes().add(this.getAction()); evaluateExpressionEClass.getESuperTypes().add(this.getAction()); incrementTimeVariableEClass.getESuperTypes().add(this.getExpression()); constantEClass.getESuperTypes().add(this.getDisplayable()); stringConstantEClass.getESuperTypes().add(this.getConstant()); timeConstantEClass.getESuperTypes().add(this.getConstant()); variableEClass.getESuperTypes().add(this.getDisplayable()); // Initialize classes and features; add operations and parameters initEClass(configurationEClass, Configuration.class, "Configuration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getConfiguration_Modes(), this.getMode(), null, "modes", null, 0, -1, Configuration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getConfiguration_Variables(), this.getVariable(), null, "variables", null, 0, -1, Configuration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getConfiguration_Constants(), this.getConstant(), null, "constants", null, 0, -1, Configuration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getConfiguration_Events(), this.getAction(), null, "events", null, 0, -1, Configuration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(modeEClass, Mode.class, "Mode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getMode_Name(), ecorePackage.getEString(), "name", null, 0, 1, Mode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getMode_EntryActions(), this.getAction(), null, "entryActions", null, 0, -1, Mode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getMode_Buttons(), this.getButton(), null, "buttons", null, 0, -1, Mode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(buttonEClass, Button.class, "Button", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getButton_Name(), ecorePackage.getEString(), "name", null, 1, 1, Button.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getButton_Behaviour(), this.getAction(), null, "behaviour", null, 1, -1, Button.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(actionEClass, Action.class, "Action", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getAction_Guard(), this.getCondition(), null, "guard", null, 0, 1, Action.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(conditionEClass, Condition.class, "Condition", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(outputMatchesConditionEClass, OutputMatchesCondition.class, "OutputMatchesCondition", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getOutputMatchesCondition_ValueToMatch(), this.getDisplayable(), null, "valueToMatch", null, 1, 1, OutputMatchesCondition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(andConditionEClass, AndCondition.class, "AndCondition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getAndCondition_Subconditions(), this.getCondition(), null, "subconditions", null, 2, -1, AndCondition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(orConditionEClass, OrCondition.class, "OrCondition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getOrCondition_Subconditions(), this.getCondition(), null, "subconditions", null, 2, -1, OrCondition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(notConditionEClass, NotCondition.class, "NotCondition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getNotCondition_Subcondition(), this.getCondition(), null, "subcondition", null, 1, 1, NotCondition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(displayMatchesConditionEClass, DisplayMatchesCondition.class, "DisplayMatchesCondition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(indicatorMatchesConditionEClass, IndicatorMatchesCondition.class, "IndicatorMatchesCondition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(variableComparisonConditionEClass, VariableComparisonCondition.class, "VariableComparisonCondition", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getVariableComparisonCondition_Variable(), this.getVariable(), null, "variable", null, 1, 1, VariableComparisonCondition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getVariableComparisonCondition_Value(), this.getDisplayable(), null, "value", null, 1, 1, VariableComparisonCondition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(variableEqualsConditionEClass, VariableEqualsCondition.class, "VariableEqualsCondition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(changeOutputActionEClass, ChangeOutputAction.class, "ChangeOutputAction", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getChangeOutputAction_NewValue(), this.getDisplayable(), null, "newValue", null, 1, 1, ChangeOutputAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(changeDisplayEClass, ChangeDisplay.class, "ChangeDisplay", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(changeIndicatorEClass, ChangeIndicator.class, "ChangeIndicator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(nextModeEClass, NextMode.class, "NextMode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(soundAlarmEClass, SoundAlarm.class, "SoundAlarm", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(silenceAlarmEClass, SilenceAlarm.class, "SilenceAlarm", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(evaluateExpressionEClass, EvaluateExpression.class, "EvaluateExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getEvaluateExpression_Expression(), this.getExpression(), null, "expression", null, 1, 1, EvaluateExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(expressionEClass, Expression.class, "Expression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(incrementTimeVariableEClass, IncrementTimeVariable.class, "IncrementTimeVariable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getIncrementTimeVariable_Variable(), this.getVariable(), null, "variable", null, 1, 1, IncrementTimeVariable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getIncrementTimeVariable_Unit(), this.getUnitOfTime(), "unit", null, 1, 1, IncrementTimeVariable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(displayableEClass, Displayable.class, "Displayable", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(constantEClass, Constant.class, "Constant", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(stringConstantEClass, StringConstant.class, "StringConstant", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getStringConstant_Value(), ecorePackage.getEString(), "value", null, 1, 1, StringConstant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(timeConstantEClass, TimeConstant.class, "TimeConstant", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getTimeConstant_Hours(), ecorePackage.getEIntegerObject(), "hours", null, 1, 1, TimeConstant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getTimeConstant_Minutes(), ecorePackage.getEIntegerObject(), "minutes", null, 1, 1, TimeConstant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(variableEClass, Variable.class, "Variable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getVariable_Name(), ecorePackage.getEString(), "name", null, 1, 1, Variable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); // Initialize enums and add enum literals initEEnum(unitOfTimeEEnum, UnitOfTime.class, "UnitOfTime"); addEEnumLiteral(unitOfTimeEEnum, UnitOfTime.HOUR); addEEnumLiteral(unitOfTimeEEnum, UnitOfTime.MINUTE); // Create resource createResource(eNS_URI); } } //ConfigPackageImpl