/** */ package statemachine.impl; import java.util.Set; import org.eclipse.emf.ecore.EAttribute; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EGenericType; import org.eclipse.emf.ecore.EOperation; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.EReference; import org.eclipse.emf.ecore.impl.EPackageImpl; import statemachine.State; import statemachine.StateMachine; import statemachine.StatemachineFactory; import statemachine.StatemachinePackage; import statemachine.Transition; /** * <!-- begin-user-doc --> * An implementation of the model <b>Package</b>. * <!-- end-user-doc --> * @generated */ public class StatemachinePackageImpl extends EPackageImpl implements StatemachinePackage { /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass stateEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass stateMachineEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass transitionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass setEClass = 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 statemachine.StatemachinePackage#eNS_URI * @see #init() * @generated */ private StatemachinePackageImpl() { super(eNS_URI, StatemachineFactory.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 StatemachinePackage#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 StatemachinePackage init() { if (isInited) return (StatemachinePackage)EPackage.Registry.INSTANCE.getEPackage(StatemachinePackage.eNS_URI); // Obtain or create and register package StatemachinePackageImpl theStatemachinePackage = (StatemachinePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof StatemachinePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new StatemachinePackageImpl()); isInited = true; // Create package meta-data objects theStatemachinePackage.createPackageContents(); // Initialize created meta-data theStatemachinePackage.initializePackageContents(); // Mark meta-data to indicate it can't be changed theStatemachinePackage.freeze(); // Update the registry and return the package EPackage.Registry.INSTANCE.put(StatemachinePackage.eNS_URI, theStatemachinePackage); return theStatemachinePackage; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getState() { return stateEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getState_Initial() { return (EAttribute)stateEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getState_Terminal() { return (EAttribute)stateEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getStateMachine() { return stateMachineEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getStateMachine_States() { return (EReference)stateMachineEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getStateMachine_Delta() { return (EReference)stateMachineEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EOperation getStateMachine__AddState__boolean_boolean() { return stateMachineEClass.getEOperations().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EOperation getStateMachine__Terminals() { return stateMachineEClass.getEOperations().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EOperation getStateMachine__AccessibleStates() { return stateMachineEClass.getEOperations().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EOperation getStateMachine__AccessibleStates__Set() { return stateMachineEClass.getEOperations().get(3); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EOperation getStateMachine__CoAccessibleStates__Set() { return stateMachineEClass.getEOperations().get(4); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EOperation getStateMachine__CoAccessibleStates() { return stateMachineEClass.getEOperations().get(5); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EOperation getStateMachine__AccessibleAndCoAccessibleStates() { return stateMachineEClass.getEOperations().get(6); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EOperation getStateMachine__DeltaFrom__State_State() { return stateMachineEClass.getEOperations().get(7); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EOperation getStateMachine__DeltaMinusOne__State_Object() { return stateMachineEClass.getEOperations().get(8); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EOperation getStateMachine__AddTransition__Transition() { return stateMachineEClass.getEOperations().get(9); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EOperation getStateMachine__AccessibleStates__State() { return stateMachineEClass.getEOperations().get(10); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EOperation getStateMachine__Accept__EList() { return stateMachineEClass.getEOperations().get(11); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EOperation getStateMachine__Alphabet() { return stateMachineEClass.getEOperations().get(12); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EOperation getStateMachine__Delta__State_Object() { return stateMachineEClass.getEOperations().get(13); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EOperation getStateMachine__Delta__State() { return stateMachineEClass.getEOperations().get(14); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EOperation getStateMachine__Delta__Set() { return stateMachineEClass.getEOperations().get(15); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EOperation getStateMachine__Steps__Set_EList() { return stateMachineEClass.getEOperations().get(16); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EOperation getStateMachine__Steps__State_EList() { return stateMachineEClass.getEOperations().get(17); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EOperation getStateMachine__Step__Set_Object() { return stateMachineEClass.getEOperations().get(18); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EOperation getStateMachine__Initials() { return stateMachineEClass.getEOperations().get(19); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EOperation getStateMachine__DeltaMinusOne__State() { return stateMachineEClass.getEOperations().get(20); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getTransition() { return transitionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getTransition_Start() { return (EReference)transitionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getTransition_End() { return (EReference)transitionEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getTransition_Label() { return (EAttribute)transitionEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSet() { return setEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public StatemachineFactory getStatemachineFactory() { return (StatemachineFactory)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 stateEClass = createEClass(STATE); createEAttribute(stateEClass, STATE__INITIAL); createEAttribute(stateEClass, STATE__TERMINAL); stateMachineEClass = createEClass(STATE_MACHINE); createEReference(stateMachineEClass, STATE_MACHINE__STATES); createEReference(stateMachineEClass, STATE_MACHINE__DELTA); createEOperation(stateMachineEClass, STATE_MACHINE___ADD_STATE__BOOLEAN_BOOLEAN); createEOperation(stateMachineEClass, STATE_MACHINE___TERMINALS); createEOperation(stateMachineEClass, STATE_MACHINE___ACCESSIBLE_STATES); createEOperation(stateMachineEClass, STATE_MACHINE___ACCESSIBLE_STATES__SET); createEOperation(stateMachineEClass, STATE_MACHINE___CO_ACCESSIBLE_STATES__SET); createEOperation(stateMachineEClass, STATE_MACHINE___CO_ACCESSIBLE_STATES); createEOperation(stateMachineEClass, STATE_MACHINE___ACCESSIBLE_AND_CO_ACCESSIBLE_STATES); createEOperation(stateMachineEClass, STATE_MACHINE___DELTA_FROM__STATE_STATE); createEOperation(stateMachineEClass, STATE_MACHINE___DELTA_MINUS_ONE__STATE_OBJECT); createEOperation(stateMachineEClass, STATE_MACHINE___ADD_TRANSITION__TRANSITION); createEOperation(stateMachineEClass, STATE_MACHINE___ACCESSIBLE_STATES__STATE); createEOperation(stateMachineEClass, STATE_MACHINE___ACCEPT__ELIST); createEOperation(stateMachineEClass, STATE_MACHINE___ALPHABET); createEOperation(stateMachineEClass, STATE_MACHINE___DELTA__STATE_OBJECT); createEOperation(stateMachineEClass, STATE_MACHINE___DELTA__STATE); createEOperation(stateMachineEClass, STATE_MACHINE___DELTA__SET); createEOperation(stateMachineEClass, STATE_MACHINE___STEPS__SET_ELIST); createEOperation(stateMachineEClass, STATE_MACHINE___STEPS__STATE_ELIST); createEOperation(stateMachineEClass, STATE_MACHINE___STEP__SET_OBJECT); createEOperation(stateMachineEClass, STATE_MACHINE___INITIALS); createEOperation(stateMachineEClass, STATE_MACHINE___DELTA_MINUS_ONE__STATE); transitionEClass = createEClass(TRANSITION); createEReference(transitionEClass, TRANSITION__START); createEReference(transitionEClass, TRANSITION__END); createEAttribute(transitionEClass, TRANSITION__LABEL); setEClass = createEClass(SET); } /** * <!-- 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(setEClass, "T"); // Set bounds for type parameters // Add supertypes to classes // Initialize classes, features, and operations; add parameters initEClass(stateEClass, State.class, "State", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getState_Initial(), ecorePackage.getEBoolean(), "initial", null, 0, 1, State.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getState_Terminal(), ecorePackage.getEBoolean(), "terminal", null, 0, 1, State.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(stateMachineEClass, StateMachine.class, "StateMachine", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getStateMachine_States(), this.getState(), null, "states", null, 0, -1, StateMachine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getStateMachine_Delta(), this.getTransition(), null, "delta", null, 0, -1, StateMachine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); EOperation op = initEOperation(getStateMachine__AddState__boolean_boolean(), this.getState(), "addState", 0, 1, IS_UNIQUE, IS_ORDERED); addEParameter(op, ecorePackage.getEBoolean(), "initial", 0, 1, IS_UNIQUE, IS_ORDERED); addEParameter(op, ecorePackage.getEBoolean(), "terminal", 0, 1, IS_UNIQUE, IS_ORDERED); op = initEOperation(getStateMachine__Terminals(), null, "terminals", 0, 1, IS_UNIQUE, IS_ORDERED); EGenericType g1 = createEGenericType(this.getSet()); EGenericType g2 = createEGenericType(this.getState()); g1.getETypeArguments().add(g2); initEOperation(op, g1); op = initEOperation(getStateMachine__AccessibleStates(), null, "accessibleStates", 0, 1, IS_UNIQUE, IS_ORDERED); g1 = createEGenericType(this.getSet()); g2 = createEGenericType(this.getState()); g1.getETypeArguments().add(g2); initEOperation(op, g1); op = initEOperation(getStateMachine__AccessibleStates__Set(), null, "accessibleStates", 0, 1, IS_UNIQUE, IS_ORDERED); g1 = createEGenericType(this.getSet()); g2 = createEGenericType(this.getState()); g1.getETypeArguments().add(g2); addEParameter(op, g1, "states", 0, 1, IS_UNIQUE, IS_ORDERED); g1 = createEGenericType(this.getSet()); g2 = createEGenericType(this.getState()); g1.getETypeArguments().add(g2); initEOperation(op, g1); op = initEOperation(getStateMachine__CoAccessibleStates__Set(), null, "coAccessibleStates", 0, 1, IS_UNIQUE, IS_ORDERED); g1 = createEGenericType(this.getSet()); g2 = createEGenericType(this.getState()); g1.getETypeArguments().add(g2); addEParameter(op, g1, "states", 0, 1, IS_UNIQUE, IS_ORDERED); g1 = createEGenericType(this.getSet()); g2 = createEGenericType(this.getState()); g1.getETypeArguments().add(g2); initEOperation(op, g1); op = initEOperation(getStateMachine__CoAccessibleStates(), null, "coAccessibleStates", 0, 1, IS_UNIQUE, IS_ORDERED); g1 = createEGenericType(this.getSet()); g2 = createEGenericType(this.getState()); g1.getETypeArguments().add(g2); initEOperation(op, g1); op = initEOperation(getStateMachine__AccessibleAndCoAccessibleStates(), null, "accessibleAndCoAccessibleStates", 0, 1, IS_UNIQUE, IS_ORDERED); g1 = createEGenericType(this.getSet()); g2 = createEGenericType(this.getState()); g1.getETypeArguments().add(g2); initEOperation(op, g1); op = initEOperation(getStateMachine__DeltaFrom__State_State(), null, "deltaFrom", 0, 1, IS_UNIQUE, IS_ORDERED); addEParameter(op, this.getState(), "from", 0, 1, IS_UNIQUE, IS_ORDERED); addEParameter(op, this.getState(), "to", 0, 1, IS_UNIQUE, IS_ORDERED); g1 = createEGenericType(this.getSet()); g2 = createEGenericType(this.getTransition()); g1.getETypeArguments().add(g2); initEOperation(op, g1); op = initEOperation(getStateMachine__DeltaMinusOne__State_Object(), null, "deltaMinusOne", 0, 1, IS_UNIQUE, IS_ORDERED); addEParameter(op, this.getState(), "state", 0, 1, IS_UNIQUE, IS_ORDERED); addEParameter(op, ecorePackage.getEJavaObject(), "label", 0, 1, IS_UNIQUE, IS_ORDERED); g1 = createEGenericType(this.getSet()); g2 = createEGenericType(this.getTransition()); g1.getETypeArguments().add(g2); initEOperation(op, g1); op = initEOperation(getStateMachine__AddTransition__Transition(), null, "addTransition", 0, 1, IS_UNIQUE, IS_ORDERED); addEParameter(op, this.getTransition(), "transition", 0, 1, IS_UNIQUE, IS_ORDERED); op = initEOperation(getStateMachine__AccessibleStates__State(), null, "accessibleStates", 0, 1, IS_UNIQUE, IS_ORDERED); addEParameter(op, this.getState(), "st", 0, 1, IS_UNIQUE, IS_ORDERED); g1 = createEGenericType(this.getSet()); g2 = createEGenericType(this.getState()); g1.getETypeArguments().add(g2); initEOperation(op, g1); op = initEOperation(getStateMachine__Accept__EList(), ecorePackage.getEBoolean(), "accept", 0, 1, IS_UNIQUE, IS_ORDERED); addEParameter(op, ecorePackage.getEString(), "word", 0, -1, IS_UNIQUE, IS_ORDERED); op = initEOperation(getStateMachine__Alphabet(), null, "alphabet", 0, 1, IS_UNIQUE, IS_ORDERED); g1 = createEGenericType(this.getSet()); g2 = createEGenericType(ecorePackage.getEString()); g1.getETypeArguments().add(g2); initEOperation(op, g1); op = initEOperation(getStateMachine__Delta__State_Object(), null, "delta", 0, 1, IS_UNIQUE, IS_ORDERED); addEParameter(op, this.getState(), "state", 0, 1, IS_UNIQUE, IS_ORDERED); addEParameter(op, ecorePackage.getEJavaObject(), "label", 0, 1, IS_UNIQUE, IS_ORDERED); g1 = createEGenericType(this.getSet()); g2 = createEGenericType(this.getTransition()); g1.getETypeArguments().add(g2); initEOperation(op, g1); op = initEOperation(getStateMachine__Delta__State(), null, "delta", 0, 1, IS_UNIQUE, IS_ORDERED); addEParameter(op, this.getState(), "state", 0, 1, IS_UNIQUE, IS_ORDERED); g1 = createEGenericType(this.getSet()); g2 = createEGenericType(this.getTransition()); g1.getETypeArguments().add(g2); initEOperation(op, g1); op = initEOperation(getStateMachine__Delta__Set(), null, "delta", 0, 1, IS_UNIQUE, IS_ORDERED); g1 = createEGenericType(this.getSet()); g2 = createEGenericType(this.getState()); g1.getETypeArguments().add(g2); addEParameter(op, g1, "s", 0, 1, IS_UNIQUE, IS_ORDERED); g1 = createEGenericType(this.getSet()); g2 = createEGenericType(this.getTransition()); g1.getETypeArguments().add(g2); initEOperation(op, g1); op = initEOperation(getStateMachine__Steps__Set_EList(), null, "steps", 0, 1, IS_UNIQUE, IS_ORDERED); g1 = createEGenericType(this.getSet()); g2 = createEGenericType(this.getState()); g1.getETypeArguments().add(g2); addEParameter(op, g1, "s", 0, 1, IS_UNIQUE, IS_ORDERED); addEParameter(op, ecorePackage.getEString(), "word", 0, -1, IS_UNIQUE, IS_ORDERED); g1 = createEGenericType(this.getSet()); g2 = createEGenericType(this.getState()); g1.getETypeArguments().add(g2); initEOperation(op, g1); op = initEOperation(getStateMachine__Steps__State_EList(), null, "steps", 0, 1, IS_UNIQUE, IS_ORDERED); addEParameter(op, this.getState(), "st", 0, 1, IS_UNIQUE, IS_ORDERED); addEParameter(op, ecorePackage.getEString(), "word", 0, -1, IS_UNIQUE, IS_ORDERED); g1 = createEGenericType(this.getSet()); g2 = createEGenericType(this.getState()); g1.getETypeArguments().add(g2); initEOperation(op, g1); op = initEOperation(getStateMachine__Step__Set_Object(), null, "step", 0, 1, IS_UNIQUE, IS_ORDERED); g1 = createEGenericType(this.getSet()); g2 = createEGenericType(this.getState()); g1.getETypeArguments().add(g2); addEParameter(op, g1, "s", 0, 1, IS_UNIQUE, IS_ORDERED); addEParameter(op, ecorePackage.getEJavaObject(), "o", 0, 1, IS_UNIQUE, IS_ORDERED); g1 = createEGenericType(this.getSet()); g2 = createEGenericType(this.getState()); g1.getETypeArguments().add(g2); initEOperation(op, g1); op = initEOperation(getStateMachine__Initials(), null, "initials", 0, 1, IS_UNIQUE, IS_ORDERED); g1 = createEGenericType(this.getSet()); g2 = createEGenericType(this.getState()); g1.getETypeArguments().add(g2); initEOperation(op, g1); op = initEOperation(getStateMachine__DeltaMinusOne__State(), null, "deltaMinusOne", 0, 1, IS_UNIQUE, IS_ORDERED); addEParameter(op, this.getState(), "st", 0, 1, IS_UNIQUE, IS_ORDERED); g1 = createEGenericType(this.getSet()); g2 = createEGenericType(this.getState()); g1.getETypeArguments().add(g2); initEOperation(op, g1); initEClass(transitionEClass, Transition.class, "Transition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getTransition_Start(), this.getState(), null, "start", null, 1, 1, Transition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getTransition_End(), this.getState(), null, "end", null, 1, 1, Transition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getTransition_Label(), ecorePackage.getEJavaObject(), "label", null, 0, 1, Transition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(setEClass, Set.class, "Set", IS_ABSTRACT, IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS); // Create resource createResource(eNS_URI); } } //StatemachinePackageImpl