/** */ package org.yakindu.sct.model.stext.stext.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 org.yakindu.base.base.BasePackage; import org.yakindu.base.expressions.expressions.ExpressionsPackage; import org.yakindu.base.types.TypesPackage; import org.yakindu.sct.model.sgraph.SGraphPackage; import org.yakindu.sct.model.stext.stext.ActiveStateReferenceExpression; import org.yakindu.sct.model.stext.stext.AlwaysEvent; import org.yakindu.sct.model.stext.stext.ArgumentedAnnotation; import org.yakindu.sct.model.stext.stext.BuiltinEventSpec; import org.yakindu.sct.model.stext.stext.DefRoot; import org.yakindu.sct.model.stext.stext.DefaultTrigger; import org.yakindu.sct.model.stext.stext.EntryEvent; import org.yakindu.sct.model.stext.stext.EntryPointSpec; import org.yakindu.sct.model.stext.stext.EventDefinition; import org.yakindu.sct.model.stext.stext.EventRaisingExpression; import org.yakindu.sct.model.stext.stext.EventSpec; import org.yakindu.sct.model.stext.stext.EventValueReferenceExpression; import org.yakindu.sct.model.stext.stext.ExitEvent; import org.yakindu.sct.model.stext.stext.ExitPointSpec; import org.yakindu.sct.model.stext.stext.Guard; import org.yakindu.sct.model.stext.stext.ImportScope; import org.yakindu.sct.model.stext.stext.InterfaceScope; import org.yakindu.sct.model.stext.stext.InternalScope; import org.yakindu.sct.model.stext.stext.LocalReaction; import org.yakindu.sct.model.stext.stext.OperationDefinition; import org.yakindu.sct.model.stext.stext.ReactionEffect; import org.yakindu.sct.model.stext.stext.ReactionTrigger; import org.yakindu.sct.model.stext.stext.RegularEventSpec; import org.yakindu.sct.model.stext.stext.Root; import org.yakindu.sct.model.stext.stext.SimpleScope; import org.yakindu.sct.model.stext.stext.StateRoot; import org.yakindu.sct.model.stext.stext.StateSpecification; import org.yakindu.sct.model.stext.stext.StatechartRoot; import org.yakindu.sct.model.stext.stext.StatechartScope; import org.yakindu.sct.model.stext.stext.StatechartSpecification; import org.yakindu.sct.model.stext.stext.StextFactory; import org.yakindu.sct.model.stext.stext.StextPackage; import org.yakindu.sct.model.stext.stext.TimeEventSpec; import org.yakindu.sct.model.stext.stext.TimeEventType; import org.yakindu.sct.model.stext.stext.TimeUnit; import org.yakindu.sct.model.stext.stext.TransitionReaction; import org.yakindu.sct.model.stext.stext.TransitionRoot; import org.yakindu.sct.model.stext.stext.TransitionSpecification; import org.yakindu.sct.model.stext.stext.TypeAliasDefinition; import org.yakindu.sct.model.stext.stext.VariableDefinition; /** * <!-- begin-user-doc --> * An implementation of the model <b>Package</b>. * <!-- end-user-doc --> * @generated */ public class StextPackageImpl extends EPackageImpl implements StextPackage { /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass rootEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass defRootEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass statechartRootEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass stateRootEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass transitionRootEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass statechartSpecificationEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass stateSpecificationEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass transitionSpecificationEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass statechartScopeEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass interfaceScopeEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass internalScopeEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass importScopeEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass eventDefinitionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass variableDefinitionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass operationDefinitionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass typeAliasDefinitionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass localReactionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass transitionReactionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass guardEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass entryPointSpecEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass exitPointSpecEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass eventSpecEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass regularEventSpecEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass timeEventSpecEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass builtinEventSpecEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass entryEventEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass exitEventEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass alwaysEventEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass simpleScopeEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass reactionTriggerEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass defaultTriggerEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass reactionEffectEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass eventRaisingExpressionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass eventValueReferenceExpressionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass activeStateReferenceExpressionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass argumentedAnnotationEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EEnum timeEventTypeEEnum = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EEnum timeUnitEEnum = 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.yakindu.sct.model.stext.stext.StextPackage#eNS_URI * @see #init() * @generated */ private StextPackageImpl() { super(eNS_URI, StextFactory.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 StextPackage#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 StextPackage init() { if (isInited) return (StextPackage)EPackage.Registry.INSTANCE.getEPackage(StextPackage.eNS_URI); // Obtain or create and register package StextPackageImpl theStextPackage = (StextPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof StextPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new StextPackageImpl()); isInited = true; // Initialize simple dependencies ExpressionsPackage.eINSTANCE.eClass(); SGraphPackage.eINSTANCE.eClass(); // Create package meta-data objects theStextPackage.createPackageContents(); // Initialize created meta-data theStextPackage.initializePackageContents(); // Mark meta-data to indicate it can't be changed theStextPackage.freeze(); // Update the registry and return the package EPackage.Registry.INSTANCE.put(StextPackage.eNS_URI, theStextPackage); return theStextPackage; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getRoot() { return rootEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getRoot_Roots() { return (EReference)rootEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getDefRoot() { return defRootEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getStatechartRoot() { return statechartRootEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getStatechartRoot_Def() { return (EReference)statechartRootEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getStateRoot() { return stateRootEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getStateRoot_Def() { return (EReference)stateRootEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getTransitionRoot() { return transitionRootEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getTransitionRoot_Def() { return (EReference)transitionRootEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getStatechartSpecification() { return statechartSpecificationEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getStatechartSpecification_Annotations() { return (EReference)statechartSpecificationEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getStateSpecification() { return stateSpecificationEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getStateSpecification_Scope() { return (EReference)stateSpecificationEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getTransitionSpecification() { return transitionSpecificationEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getTransitionSpecification_Reaction() { return (EReference)transitionSpecificationEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getStatechartScope() { return statechartScopeEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getInterfaceScope() { return interfaceScopeEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getInternalScope() { return internalScopeEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getImportScope() { return importScopeEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getImportScope_Imports() { return (EReference)importScopeEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getEventDefinition() { return eventDefinitionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getVariableDefinition() { return variableDefinitionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getVariableDefinition_InitialValue() { return (EReference)variableDefinitionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getOperationDefinition() { return operationDefinitionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getTypeAliasDefinition() { return typeAliasDefinitionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getLocalReaction() { return localReactionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getTransitionReaction() { return transitionReactionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getGuard() { return guardEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getGuard_Expression() { return (EReference)guardEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getEntryPointSpec() { return entryPointSpecEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getEntryPointSpec_Entrypoint() { return (EAttribute)entryPointSpecEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getExitPointSpec() { return exitPointSpecEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getExitPointSpec_Exitpoint() { return (EAttribute)exitPointSpecEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getEventSpec() { return eventSpecEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getRegularEventSpec() { return regularEventSpecEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getRegularEventSpec_Event() { return (EReference)regularEventSpecEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getTimeEventSpec() { return timeEventSpecEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getTimeEventSpec_Type() { return (EAttribute)timeEventSpecEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getTimeEventSpec_Value() { return (EReference)timeEventSpecEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getTimeEventSpec_Unit() { return (EAttribute)timeEventSpecEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getBuiltinEventSpec() { return builtinEventSpecEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getEntryEvent() { return entryEventEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getExitEvent() { return exitEventEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getAlwaysEvent() { return alwaysEventEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSimpleScope() { return simpleScopeEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getReactionTrigger() { return reactionTriggerEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getReactionTrigger_Triggers() { return (EReference)reactionTriggerEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getReactionTrigger_Guard() { return (EReference)reactionTriggerEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getDefaultTrigger() { return defaultTriggerEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getReactionEffect() { return reactionEffectEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getReactionEffect_Actions() { return (EReference)reactionEffectEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getEventRaisingExpression() { return eventRaisingExpressionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getEventRaisingExpression_Event() { return (EReference)eventRaisingExpressionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getEventRaisingExpression_Value() { return (EReference)eventRaisingExpressionEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getEventValueReferenceExpression() { return eventValueReferenceExpressionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getEventValueReferenceExpression_Value() { return (EReference)eventValueReferenceExpressionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getActiveStateReferenceExpression() { return activeStateReferenceExpressionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getActiveStateReferenceExpression_Value() { return (EReference)activeStateReferenceExpressionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getArgumentedAnnotation() { return argumentedAnnotationEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EEnum getTimeEventType() { return timeEventTypeEEnum; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EEnum getTimeUnit() { return timeUnitEEnum; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public StextFactory getStextFactory() { return (StextFactory)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 rootEClass = createEClass(ROOT); createEReference(rootEClass, ROOT__ROOTS); defRootEClass = createEClass(DEF_ROOT); statechartRootEClass = createEClass(STATECHART_ROOT); createEReference(statechartRootEClass, STATECHART_ROOT__DEF); stateRootEClass = createEClass(STATE_ROOT); createEReference(stateRootEClass, STATE_ROOT__DEF); transitionRootEClass = createEClass(TRANSITION_ROOT); createEReference(transitionRootEClass, TRANSITION_ROOT__DEF); statechartSpecificationEClass = createEClass(STATECHART_SPECIFICATION); createEReference(statechartSpecificationEClass, STATECHART_SPECIFICATION__ANNOTATIONS); stateSpecificationEClass = createEClass(STATE_SPECIFICATION); createEReference(stateSpecificationEClass, STATE_SPECIFICATION__SCOPE); transitionSpecificationEClass = createEClass(TRANSITION_SPECIFICATION); createEReference(transitionSpecificationEClass, TRANSITION_SPECIFICATION__REACTION); statechartScopeEClass = createEClass(STATECHART_SCOPE); interfaceScopeEClass = createEClass(INTERFACE_SCOPE); internalScopeEClass = createEClass(INTERNAL_SCOPE); importScopeEClass = createEClass(IMPORT_SCOPE); createEReference(importScopeEClass, IMPORT_SCOPE__IMPORTS); eventDefinitionEClass = createEClass(EVENT_DEFINITION); variableDefinitionEClass = createEClass(VARIABLE_DEFINITION); createEReference(variableDefinitionEClass, VARIABLE_DEFINITION__INITIAL_VALUE); operationDefinitionEClass = createEClass(OPERATION_DEFINITION); typeAliasDefinitionEClass = createEClass(TYPE_ALIAS_DEFINITION); localReactionEClass = createEClass(LOCAL_REACTION); transitionReactionEClass = createEClass(TRANSITION_REACTION); guardEClass = createEClass(GUARD); createEReference(guardEClass, GUARD__EXPRESSION); entryPointSpecEClass = createEClass(ENTRY_POINT_SPEC); createEAttribute(entryPointSpecEClass, ENTRY_POINT_SPEC__ENTRYPOINT); exitPointSpecEClass = createEClass(EXIT_POINT_SPEC); createEAttribute(exitPointSpecEClass, EXIT_POINT_SPEC__EXITPOINT); eventSpecEClass = createEClass(EVENT_SPEC); regularEventSpecEClass = createEClass(REGULAR_EVENT_SPEC); createEReference(regularEventSpecEClass, REGULAR_EVENT_SPEC__EVENT); timeEventSpecEClass = createEClass(TIME_EVENT_SPEC); createEAttribute(timeEventSpecEClass, TIME_EVENT_SPEC__TYPE); createEReference(timeEventSpecEClass, TIME_EVENT_SPEC__VALUE); createEAttribute(timeEventSpecEClass, TIME_EVENT_SPEC__UNIT); builtinEventSpecEClass = createEClass(BUILTIN_EVENT_SPEC); entryEventEClass = createEClass(ENTRY_EVENT); exitEventEClass = createEClass(EXIT_EVENT); alwaysEventEClass = createEClass(ALWAYS_EVENT); simpleScopeEClass = createEClass(SIMPLE_SCOPE); reactionTriggerEClass = createEClass(REACTION_TRIGGER); createEReference(reactionTriggerEClass, REACTION_TRIGGER__TRIGGERS); createEReference(reactionTriggerEClass, REACTION_TRIGGER__GUARD); defaultTriggerEClass = createEClass(DEFAULT_TRIGGER); reactionEffectEClass = createEClass(REACTION_EFFECT); createEReference(reactionEffectEClass, REACTION_EFFECT__ACTIONS); eventRaisingExpressionEClass = createEClass(EVENT_RAISING_EXPRESSION); createEReference(eventRaisingExpressionEClass, EVENT_RAISING_EXPRESSION__EVENT); createEReference(eventRaisingExpressionEClass, EVENT_RAISING_EXPRESSION__VALUE); eventValueReferenceExpressionEClass = createEClass(EVENT_VALUE_REFERENCE_EXPRESSION); createEReference(eventValueReferenceExpressionEClass, EVENT_VALUE_REFERENCE_EXPRESSION__VALUE); activeStateReferenceExpressionEClass = createEClass(ACTIVE_STATE_REFERENCE_EXPRESSION); createEReference(activeStateReferenceExpressionEClass, ACTIVE_STATE_REFERENCE_EXPRESSION__VALUE); argumentedAnnotationEClass = createEClass(ARGUMENTED_ANNOTATION); // Create enums timeEventTypeEEnum = createEEnum(TIME_EVENT_TYPE); timeUnitEEnum = createEEnum(TIME_UNIT); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private boolean isInitialized = false; /** * Complete the initialization of the package and its meta-model. This * method is guarded to have no affect on any invocation but its first. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void initializePackageContents() { if (isInitialized) return; isInitialized = true; // Initialize package setName(eNAME); setNsPrefix(eNS_PREFIX); setNsURI(eNS_URI); // Obtain other dependent packages SGraphPackage theSGraphPackage = (SGraphPackage)EPackage.Registry.INSTANCE.getEPackage(SGraphPackage.eNS_URI); BasePackage theBasePackage = (BasePackage)EPackage.Registry.INSTANCE.getEPackage(BasePackage.eNS_URI); TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI); ExpressionsPackage theExpressionsPackage = (ExpressionsPackage)EPackage.Registry.INSTANCE.getEPackage(ExpressionsPackage.eNS_URI); // Create type parameters // Set bounds for type parameters // Add supertypes to classes statechartRootEClass.getESuperTypes().add(this.getDefRoot()); stateRootEClass.getESuperTypes().add(this.getDefRoot()); transitionRootEClass.getESuperTypes().add(this.getDefRoot()); statechartSpecificationEClass.getESuperTypes().add(theSGraphPackage.getScopedElement()); statechartScopeEClass.getESuperTypes().add(theSGraphPackage.getScope()); interfaceScopeEClass.getESuperTypes().add(this.getStatechartScope()); interfaceScopeEClass.getESuperTypes().add(theBasePackage.getNamedElement()); internalScopeEClass.getESuperTypes().add(this.getStatechartScope()); importScopeEClass.getESuperTypes().add(this.getStatechartScope()); eventDefinitionEClass.getESuperTypes().add(theTypesPackage.getEvent()); variableDefinitionEClass.getESuperTypes().add(theTypesPackage.getProperty()); operationDefinitionEClass.getESuperTypes().add(theTypesPackage.getOperation()); typeAliasDefinitionEClass.getESuperTypes().add(theTypesPackage.getTypeAlias()); typeAliasDefinitionEClass.getESuperTypes().add(theTypesPackage.getDeclaration()); localReactionEClass.getESuperTypes().add(theSGraphPackage.getReaction()); transitionReactionEClass.getESuperTypes().add(theSGraphPackage.getReaction()); entryPointSpecEClass.getESuperTypes().add(theSGraphPackage.getReactionProperty()); exitPointSpecEClass.getESuperTypes().add(theSGraphPackage.getReactionProperty()); regularEventSpecEClass.getESuperTypes().add(this.getEventSpec()); timeEventSpecEClass.getESuperTypes().add(this.getEventSpec()); builtinEventSpecEClass.getESuperTypes().add(this.getEventSpec()); entryEventEClass.getESuperTypes().add(this.getBuiltinEventSpec()); exitEventEClass.getESuperTypes().add(this.getBuiltinEventSpec()); alwaysEventEClass.getESuperTypes().add(this.getBuiltinEventSpec()); simpleScopeEClass.getESuperTypes().add(theSGraphPackage.getScope()); reactionTriggerEClass.getESuperTypes().add(theSGraphPackage.getTrigger()); defaultTriggerEClass.getESuperTypes().add(theSGraphPackage.getTrigger()); reactionEffectEClass.getESuperTypes().add(theSGraphPackage.getEffect()); eventRaisingExpressionEClass.getESuperTypes().add(theExpressionsPackage.getExpression()); eventValueReferenceExpressionEClass.getESuperTypes().add(theExpressionsPackage.getExpression()); activeStateReferenceExpressionEClass.getESuperTypes().add(theExpressionsPackage.getExpression()); argumentedAnnotationEClass.getESuperTypes().add(theTypesPackage.getAnnotation()); argumentedAnnotationEClass.getESuperTypes().add(theExpressionsPackage.getArgumentExpression()); // Initialize classes and features; add operations and parameters initEClass(rootEClass, Root.class, "Root", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getRoot_Roots(), this.getDefRoot(), null, "roots", null, 0, -1, Root.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(defRootEClass, DefRoot.class, "DefRoot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(statechartRootEClass, StatechartRoot.class, "StatechartRoot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getStatechartRoot_Def(), this.getStatechartSpecification(), null, "def", null, 0, 1, StatechartRoot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(stateRootEClass, StateRoot.class, "StateRoot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getStateRoot_Def(), this.getStateSpecification(), null, "def", null, 0, 1, StateRoot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(transitionRootEClass, TransitionRoot.class, "TransitionRoot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getTransitionRoot_Def(), this.getTransitionSpecification(), null, "def", null, 0, 1, TransitionRoot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(statechartSpecificationEClass, StatechartSpecification.class, "StatechartSpecification", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getStatechartSpecification_Annotations(), this.getArgumentedAnnotation(), null, "annotations", null, 0, -1, StatechartSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(stateSpecificationEClass, StateSpecification.class, "StateSpecification", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getStateSpecification_Scope(), theSGraphPackage.getScope(), null, "scope", null, 0, 1, StateSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(transitionSpecificationEClass, TransitionSpecification.class, "TransitionSpecification", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getTransitionSpecification_Reaction(), this.getTransitionReaction(), null, "reaction", null, 0, 1, TransitionSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(statechartScopeEClass, StatechartScope.class, "StatechartScope", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(interfaceScopeEClass, InterfaceScope.class, "InterfaceScope", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(internalScopeEClass, InternalScope.class, "InternalScope", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(importScopeEClass, ImportScope.class, "ImportScope", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getImportScope_Imports(), theTypesPackage.getPackage(), null, "imports", null, 0, -1, ImportScope.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(eventDefinitionEClass, EventDefinition.class, "EventDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(variableDefinitionEClass, VariableDefinition.class, "VariableDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getVariableDefinition_InitialValue(), theExpressionsPackage.getExpression(), null, "initialValue", null, 0, 1, VariableDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(operationDefinitionEClass, OperationDefinition.class, "OperationDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(typeAliasDefinitionEClass, TypeAliasDefinition.class, "TypeAliasDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(localReactionEClass, LocalReaction.class, "LocalReaction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(transitionReactionEClass, TransitionReaction.class, "TransitionReaction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(guardEClass, Guard.class, "Guard", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getGuard_Expression(), theExpressionsPackage.getExpression(), null, "expression", null, 0, 1, Guard.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(entryPointSpecEClass, EntryPointSpec.class, "EntryPointSpec", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getEntryPointSpec_Entrypoint(), ecorePackage.getEString(), "entrypoint", null, 0, 1, EntryPointSpec.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(exitPointSpecEClass, ExitPointSpec.class, "ExitPointSpec", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getExitPointSpec_Exitpoint(), ecorePackage.getEString(), "exitpoint", null, 0, 1, ExitPointSpec.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(eventSpecEClass, EventSpec.class, "EventSpec", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(regularEventSpecEClass, RegularEventSpec.class, "RegularEventSpec", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getRegularEventSpec_Event(), theExpressionsPackage.getExpression(), null, "event", null, 0, 1, RegularEventSpec.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(timeEventSpecEClass, TimeEventSpec.class, "TimeEventSpec", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getTimeEventSpec_Type(), this.getTimeEventType(), "type", null, 0, 1, TimeEventSpec.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getTimeEventSpec_Value(), theExpressionsPackage.getExpression(), null, "value", null, 0, 1, TimeEventSpec.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getTimeEventSpec_Unit(), this.getTimeUnit(), "unit", null, 0, 1, TimeEventSpec.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(builtinEventSpecEClass, BuiltinEventSpec.class, "BuiltinEventSpec", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(entryEventEClass, EntryEvent.class, "EntryEvent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(exitEventEClass, ExitEvent.class, "ExitEvent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(alwaysEventEClass, AlwaysEvent.class, "AlwaysEvent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(simpleScopeEClass, SimpleScope.class, "SimpleScope", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(reactionTriggerEClass, ReactionTrigger.class, "ReactionTrigger", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getReactionTrigger_Triggers(), this.getEventSpec(), null, "triggers", null, 0, -1, ReactionTrigger.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getReactionTrigger_Guard(), this.getGuard(), null, "guard", null, 0, 1, ReactionTrigger.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(defaultTriggerEClass, DefaultTrigger.class, "DefaultTrigger", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(reactionEffectEClass, ReactionEffect.class, "ReactionEffect", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getReactionEffect_Actions(), theExpressionsPackage.getExpression(), null, "actions", null, 0, -1, ReactionEffect.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(eventRaisingExpressionEClass, EventRaisingExpression.class, "EventRaisingExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getEventRaisingExpression_Event(), theExpressionsPackage.getExpression(), null, "event", null, 0, 1, EventRaisingExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getEventRaisingExpression_Value(), theExpressionsPackage.getExpression(), null, "value", null, 0, 1, EventRaisingExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(eventValueReferenceExpressionEClass, EventValueReferenceExpression.class, "EventValueReferenceExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getEventValueReferenceExpression_Value(), theExpressionsPackage.getExpression(), null, "value", null, 0, 1, EventValueReferenceExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(activeStateReferenceExpressionEClass, ActiveStateReferenceExpression.class, "ActiveStateReferenceExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getActiveStateReferenceExpression_Value(), theSGraphPackage.getState(), null, "value", null, 0, 1, ActiveStateReferenceExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(argumentedAnnotationEClass, ArgumentedAnnotation.class, "ArgumentedAnnotation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); // Initialize enums and add enum literals initEEnum(timeEventTypeEEnum, TimeEventType.class, "TimeEventType"); addEEnumLiteral(timeEventTypeEEnum, TimeEventType.AFTER); addEEnumLiteral(timeEventTypeEEnum, TimeEventType.EVERY); initEEnum(timeUnitEEnum, TimeUnit.class, "TimeUnit"); addEEnumLiteral(timeUnitEEnum, TimeUnit.SECOND); addEEnumLiteral(timeUnitEEnum, TimeUnit.MILLISECOND); addEEnumLiteral(timeUnitEEnum, TimeUnit.MICROSECOND); addEEnumLiteral(timeUnitEEnum, TimeUnit.NANOSECOND); // Create resource createResource(eNS_URI); } } //StextPackageImpl