/** * <copyright> * </copyright> * */ package org.eclipse.papyrus.uml.textedit.transition.xtext.umlTransition.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.EcorePackage; import org.eclipse.emf.ecore.impl.EPackageImpl; import org.eclipse.papyrus.uml.textedit.transition.xtext.umlTransition.AbsoluteTimeEventRule; import org.eclipse.papyrus.uml.textedit.transition.xtext.umlTransition.AnyReceiveEventRule; import org.eclipse.papyrus.uml.textedit.transition.xtext.umlTransition.BehaviorKind; import org.eclipse.papyrus.uml.textedit.transition.xtext.umlTransition.CallOrSignalEventRule; import org.eclipse.papyrus.uml.textedit.transition.xtext.umlTransition.ChangeEventRule; import org.eclipse.papyrus.uml.textedit.transition.xtext.umlTransition.EffectRule; import org.eclipse.papyrus.uml.textedit.transition.xtext.umlTransition.EventRule; import org.eclipse.papyrus.uml.textedit.transition.xtext.umlTransition.GuardRule; import org.eclipse.papyrus.uml.textedit.transition.xtext.umlTransition.RelativeTimeEventRule; import org.eclipse.papyrus.uml.textedit.transition.xtext.umlTransition.TimeEventRule; import org.eclipse.papyrus.uml.textedit.transition.xtext.umlTransition.TransitionRule; import org.eclipse.papyrus.uml.textedit.transition.xtext.umlTransition.UmlTransitionFactory; import org.eclipse.papyrus.uml.textedit.transition.xtext.umlTransition.UmlTransitionPackage; import org.eclipse.uml2.uml.UMLPackage; /** * <!-- begin-user-doc --> * An implementation of the model <b>Package</b>. * <!-- end-user-doc --> * * @generated */ public class UmlTransitionPackageImpl extends EPackageImpl implements UmlTransitionPackage { /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ private EClass transitionRuleEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ private EClass eventRuleEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ private EClass callOrSignalEventRuleEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ private EClass anyReceiveEventRuleEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ private EClass timeEventRuleEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ private EClass relativeTimeEventRuleEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ private EClass absoluteTimeEventRuleEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ private EClass changeEventRuleEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ private EClass guardRuleEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ private EClass effectRuleEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ private EEnum behaviorKindEEnum = null; /** * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the * package * package URI value. * <p> * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also performs initialization of the * package, or returns the registered package, if one already exists. <!-- begin-user-doc --> <!-- end-user-doc --> * * @see org.eclipse.emf.ecore.EPackage.Registry * @see org.eclipse.papyrus.uml.textedit.transition.xtext.umlTransition.UmlTransitionPackage#eNS_URI * @see #init() * @generated */ private UmlTransitionPackageImpl() { super(eNS_URI, UmlTransitionFactory.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 UmlTransitionPackage#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 UmlTransitionPackage init() { if(isInited) { return (UmlTransitionPackage)EPackage.Registry.INSTANCE.getEPackage(UmlTransitionPackage.eNS_URI); } // Obtain or create and register package UmlTransitionPackageImpl theUmlTransitionPackage = (UmlTransitionPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof UmlTransitionPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new UmlTransitionPackageImpl()); isInited = true; // Initialize simple dependencies UMLPackage.eINSTANCE.eClass(); // Obtain or create and register interdependencies // Create package meta-data objects theUmlTransitionPackage.createPackageContents(); // Initialize created meta-data theUmlTransitionPackage.initializePackageContents(); // Mark meta-data to indicate it can't be changed theUmlTransitionPackage.freeze(); // Update the registry and return the package EPackage.Registry.INSTANCE.put(UmlTransitionPackage.eNS_URI, theUmlTransitionPackage); return theUmlTransitionPackage; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ public EClass getTransitionRule() { return transitionRuleEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ public EReference getTransitionRule_Triggers() { return (EReference)transitionRuleEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ public EReference getTransitionRule_Guard() { return (EReference)transitionRuleEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ public EReference getTransitionRule_Effect() { return (EReference)transitionRuleEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ public EClass getEventRule() { return eventRuleEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ public EClass getCallOrSignalEventRule() { return callOrSignalEventRuleEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ public EReference getCallOrSignalEventRule_OperationOrSignal() { return (EReference)callOrSignalEventRuleEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ public EClass getAnyReceiveEventRule() { return anyReceiveEventRuleEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ public EAttribute getAnyReceiveEventRule_IsAReceiveEvent() { return (EAttribute)anyReceiveEventRuleEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ public EClass getTimeEventRule() { return timeEventRuleEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ public EAttribute getTimeEventRule_Expr() { return (EAttribute)timeEventRuleEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ public EClass getRelativeTimeEventRule() { return relativeTimeEventRuleEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ public EClass getAbsoluteTimeEventRule() { return absoluteTimeEventRuleEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ public EClass getChangeEventRule() { return changeEventRuleEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ public EAttribute getChangeEventRule_Exp() { return (EAttribute)changeEventRuleEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ public EClass getGuardRule() { return guardRuleEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ public EAttribute getGuardRule_Constraint() { return (EAttribute)guardRuleEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ public EClass getEffectRule() { return effectRuleEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ public EAttribute getEffectRule_Kind() { return (EAttribute)effectRuleEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ public EAttribute getEffectRule_BehaviorName() { return (EAttribute)effectRuleEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ public EEnum getBehaviorKind() { return behaviorKindEEnum; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ public UmlTransitionFactory getUmlTransitionFactory() { return (UmlTransitionFactory)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 transitionRuleEClass = createEClass(TRANSITION_RULE); createEReference(transitionRuleEClass, TRANSITION_RULE__TRIGGERS); createEReference(transitionRuleEClass, TRANSITION_RULE__GUARD); createEReference(transitionRuleEClass, TRANSITION_RULE__EFFECT); eventRuleEClass = createEClass(EVENT_RULE); callOrSignalEventRuleEClass = createEClass(CALL_OR_SIGNAL_EVENT_RULE); createEReference(callOrSignalEventRuleEClass, CALL_OR_SIGNAL_EVENT_RULE__OPERATION_OR_SIGNAL); anyReceiveEventRuleEClass = createEClass(ANY_RECEIVE_EVENT_RULE); createEAttribute(anyReceiveEventRuleEClass, ANY_RECEIVE_EVENT_RULE__IS_ARECEIVE_EVENT); timeEventRuleEClass = createEClass(TIME_EVENT_RULE); createEAttribute(timeEventRuleEClass, TIME_EVENT_RULE__EXPR); relativeTimeEventRuleEClass = createEClass(RELATIVE_TIME_EVENT_RULE); absoluteTimeEventRuleEClass = createEClass(ABSOLUTE_TIME_EVENT_RULE); changeEventRuleEClass = createEClass(CHANGE_EVENT_RULE); createEAttribute(changeEventRuleEClass, CHANGE_EVENT_RULE__EXP); guardRuleEClass = createEClass(GUARD_RULE); createEAttribute(guardRuleEClass, GUARD_RULE__CONSTRAINT); effectRuleEClass = createEClass(EFFECT_RULE); createEAttribute(effectRuleEClass, EFFECT_RULE__KIND); createEAttribute(effectRuleEClass, EFFECT_RULE__BEHAVIOR_NAME); // Create enums behaviorKindEEnum = createEEnum(BEHAVIOR_KIND); } /** * <!-- 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 UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI); EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI); // Create type parameters // Set bounds for type parameters // Add supertypes to classes callOrSignalEventRuleEClass.getESuperTypes().add(this.getEventRule()); anyReceiveEventRuleEClass.getESuperTypes().add(this.getEventRule()); timeEventRuleEClass.getESuperTypes().add(this.getEventRule()); relativeTimeEventRuleEClass.getESuperTypes().add(this.getTimeEventRule()); absoluteTimeEventRuleEClass.getESuperTypes().add(this.getTimeEventRule()); changeEventRuleEClass.getESuperTypes().add(this.getEventRule()); // Initialize classes and features; add operations and parameters initEClass(transitionRuleEClass, TransitionRule.class, "TransitionRule", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getTransitionRule_Triggers(), this.getEventRule(), null, "triggers", null, 0, -1, TransitionRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getTransitionRule_Guard(), this.getGuardRule(), null, "guard", null, 0, 1, TransitionRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getTransitionRule_Effect(), this.getEffectRule(), null, "effect", null, 0, 1, TransitionRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(eventRuleEClass, EventRule.class, "EventRule", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(callOrSignalEventRuleEClass, CallOrSignalEventRule.class, "CallOrSignalEventRule", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getCallOrSignalEventRule_OperationOrSignal(), theUMLPackage.getNamedElement(), null, "operationOrSignal", null, 0, 1, CallOrSignalEventRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(anyReceiveEventRuleEClass, AnyReceiveEventRule.class, "AnyReceiveEventRule", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getAnyReceiveEventRule_IsAReceiveEvent(), theEcorePackage.getEString(), "isAReceiveEvent", null, 0, 1, AnyReceiveEventRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(timeEventRuleEClass, TimeEventRule.class, "TimeEventRule", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getTimeEventRule_Expr(), theEcorePackage.getEString(), "expr", null, 0, 1, TimeEventRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(relativeTimeEventRuleEClass, RelativeTimeEventRule.class, "RelativeTimeEventRule", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(absoluteTimeEventRuleEClass, AbsoluteTimeEventRule.class, "AbsoluteTimeEventRule", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(changeEventRuleEClass, ChangeEventRule.class, "ChangeEventRule", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getChangeEventRule_Exp(), theEcorePackage.getEString(), "exp", null, 0, 1, ChangeEventRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(guardRuleEClass, GuardRule.class, "GuardRule", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getGuardRule_Constraint(), theEcorePackage.getEString(), "constraint", null, 0, 1, GuardRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(effectRuleEClass, EffectRule.class, "EffectRule", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getEffectRule_Kind(), this.getBehaviorKind(), "kind", null, 0, 1, EffectRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getEffectRule_BehaviorName(), theEcorePackage.getEString(), "behaviorName", null, 0, 1, EffectRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); // Initialize enums and add enum literals initEEnum(behaviorKindEEnum, BehaviorKind.class, "BehaviorKind"); addEEnumLiteral(behaviorKindEEnum, BehaviorKind.ACTIVITY); addEEnumLiteral(behaviorKindEEnum, BehaviorKind.STATE_MACHINE); addEEnumLiteral(behaviorKindEEnum, BehaviorKind.OPAQUE_BEHAVIOR); // Create resource createResource(eNS_URI); } } //UmlTransitionPackageImpl