All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.uml2.uml.internal.impl.TransitionImpl Maven / Gradle / Ivy

There is a newer version: 5.0.0-v20140602-0749
Show newest version
/*
 * Copyright (c) 2005, 2011 IBM Corporation, Embarcadero Technologies, CEA, and others.
 * All rights reserved.   This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *   IBM - initial API and implementation
 *   Kenn Hussey (Embarcadero Technologies) - 204200
 *   Kenn Hussey - 286329, 323181
 *   Kenn Hussey (CEA) - 327039, 351774
 *
 */
package org.eclipse.uml2.uml.internal.impl;

import java.lang.reflect.InvocationTargetException;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;

import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;

import org.eclipse.emf.common.util.DiagnosticChain;
import org.eclipse.emf.common.util.EList;

import org.eclipse.emf.ecore.EAnnotation;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;

import org.eclipse.emf.ecore.impl.ENotificationImpl;

import org.eclipse.emf.ecore.resource.Resource;

import org.eclipse.emf.ecore.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.EcoreEList;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.util.InternalEList;

import org.eclipse.uml2.common.util.CacheAdapter;
import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;

import org.eclipse.uml2.common.util.SubsetSupersetEObjectContainmentWithInverseEList;

import org.eclipse.uml2.uml.Behavior;
import org.eclipse.uml2.uml.Classifier;
import org.eclipse.uml2.uml.Comment;
import org.eclipse.uml2.uml.Constraint;
import org.eclipse.uml2.uml.Dependency;
import org.eclipse.uml2.uml.Element;
import org.eclipse.uml2.uml.ElementImport;
import org.eclipse.uml2.uml.NamedElement;
import org.eclipse.uml2.uml.Namespace;
import org.eclipse.uml2.uml.PackageImport;
import org.eclipse.uml2.uml.PackageableElement;
import org.eclipse.uml2.uml.RedefinableElement;
import org.eclipse.uml2.uml.Region;
import org.eclipse.uml2.uml.StateMachine;
import org.eclipse.uml2.uml.Stereotype;
import org.eclipse.uml2.uml.StringExpression;
import org.eclipse.uml2.uml.Transition;
import org.eclipse.uml2.uml.TransitionKind;
import org.eclipse.uml2.uml.Trigger;
import org.eclipse.uml2.uml.UMLPackage;
import org.eclipse.uml2.uml.Vertex;
import org.eclipse.uml2.uml.VisibilityKind;

import org.eclipse.uml2.uml.internal.operations.RedefinableElementOperations;
import org.eclipse.uml2.uml.internal.operations.TransitionOperations;

/**
 * 
 * An implementation of the model object 'Transition'.
 * 
 * 

* The following features are implemented: *

    *
  • {@link org.eclipse.uml2.uml.internal.impl.TransitionImpl#getRedefinedElements Redefined Element}
  • *
  • {@link org.eclipse.uml2.uml.internal.impl.TransitionImpl#getRedefinitionContexts Redefinition Context}
  • *
  • {@link org.eclipse.uml2.uml.internal.impl.TransitionImpl#isLeaf Is Leaf}
  • *
  • {@link org.eclipse.uml2.uml.internal.impl.TransitionImpl#getOwnedElements Owned Element}
  • *
  • {@link org.eclipse.uml2.uml.internal.impl.TransitionImpl#getNamespace Namespace}
  • *
  • {@link org.eclipse.uml2.uml.internal.impl.TransitionImpl#getOwnedRules Owned Rule}
  • *
  • {@link org.eclipse.uml2.uml.internal.impl.TransitionImpl#getEffect Effect}
  • *
  • {@link org.eclipse.uml2.uml.internal.impl.TransitionImpl#getGuard Guard}
  • *
  • {@link org.eclipse.uml2.uml.internal.impl.TransitionImpl#getKind Kind}
  • *
  • {@link org.eclipse.uml2.uml.internal.impl.TransitionImpl#getRedefinedTransition Redefined Transition}
  • *
  • {@link org.eclipse.uml2.uml.internal.impl.TransitionImpl#getSource Source}
  • *
  • {@link org.eclipse.uml2.uml.internal.impl.TransitionImpl#getTarget Target}
  • *
  • {@link org.eclipse.uml2.uml.internal.impl.TransitionImpl#getTriggers Trigger}
  • *
  • {@link org.eclipse.uml2.uml.internal.impl.TransitionImpl#getContainer Container}
  • *
*

* * @generated */ public class TransitionImpl extends NamespaceImpl implements Transition { /** * The default value of the '{@link #isLeaf() Is Leaf}' attribute. * * * @see #isLeaf() * @generated * @ordered */ protected static final boolean IS_LEAF_EDEFAULT = false; /** * The flag representing the value of the '{@link #isLeaf() Is Leaf}' attribute. * * * @see #isLeaf() * @generated * @ordered */ protected static final int IS_LEAF_EFLAG = 1 << 12; /** * The cached value of the '{@link #getEffect() Effect}' containment reference. * * * @see #getEffect() * @generated * @ordered */ protected Behavior effect; /** * The cached value of the '{@link #getGuard() Guard}' reference. * * * @see #getGuard() * @generated * @ordered */ protected Constraint guard; /** * The default value of the '{@link #getKind() Kind}' attribute. * * * @see #getKind() * @generated * @ordered */ protected static final TransitionKind KIND_EDEFAULT = TransitionKind.EXTERNAL_LITERAL; /** * The offset of the flags representing the value of the '{@link #getKind() Kind}' attribute. * * * @generated * @ordered */ protected static final int KIND_EFLAG_OFFSET = 13; /** * The flags representing the default value of the '{@link #getKind() Kind}' attribute. * * * @generated * @ordered */ protected static final int KIND_EFLAG_DEFAULT = KIND_EDEFAULT.ordinal() << KIND_EFLAG_OFFSET; /** * The array of enumeration values for '{@link TransitionKind Transition Kind}' * * * @generated * @ordered */ private static final TransitionKind[] KIND_EFLAG_VALUES = TransitionKind .values(); /** * The flags representing the value of the '{@link #getKind() Kind}' attribute. * * * @see #getKind() * @generated * @ordered */ protected static final int KIND_EFLAG = 0x3 << KIND_EFLAG_OFFSET; /** * The cached value of the '{@link #getRedefinedTransition() Redefined Transition}' reference. * * * @see #getRedefinedTransition() * @generated * @ordered */ protected Transition redefinedTransition; /** * The cached value of the '{@link #getSource() Source}' reference. * * * @see #getSource() * @generated * @ordered */ protected Vertex source; /** * The cached value of the '{@link #getTarget() Target}' reference. * * * @see #getTarget() * @generated * @ordered */ protected Vertex target; /** * The cached value of the '{@link #getTriggers() Trigger}' containment reference list. * * * @see #getTriggers() * @generated * @ordered */ protected EList triggers; /** * * * @generated */ protected TransitionImpl() { super(); eFlags |= KIND_EFLAG_DEFAULT; } /** * * * @generated */ @Override protected EClass eStaticClass() { return UMLPackage.Literals.TRANSITION; } /** * * * @generated */ public EList getRedefinedElements() { CacheAdapter cache = getCacheAdapter(); if (cache != null) { Resource eResource = eResource(); @SuppressWarnings("unchecked") EList redefinedElements = (EList) cache .get(eResource, this, UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT); if (redefinedElements == null) { cache .put( eResource, this, UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT, redefinedElements = new DerivedUnionEObjectEList( RedefinableElement.class, this, UMLPackage.TRANSITION__REDEFINED_ELEMENT, REDEFINED_ELEMENT_ESUBSETS)); } return redefinedElements; } return new DerivedUnionEObjectEList( RedefinableElement.class, this, UMLPackage.TRANSITION__REDEFINED_ELEMENT, REDEFINED_ELEMENT_ESUBSETS); } /** * * * @generated */ @Override public EList getOwnedElements() { CacheAdapter cache = getCacheAdapter(); if (cache != null) { Resource eResource = eResource(); @SuppressWarnings("unchecked") EList ownedElements = (EList) cache.get( eResource, this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT); if (ownedElements == null) { cache.put(eResource, this, UMLPackage.Literals.ELEMENT__OWNED_ELEMENT, ownedElements = new DerivedUnionEObjectEList( Element.class, this, UMLPackage.TRANSITION__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS)); } return ownedElements; } return new DerivedUnionEObjectEList(Element.class, this, UMLPackage.TRANSITION__OWNED_ELEMENT, OWNED_ELEMENT_ESUBSETS); } /** * * * @generated */ @Override public EList getOwnedRules() { if (ownedRules == null) { ownedRules = new SubsetSupersetEObjectContainmentWithInverseEList.Resolving( Constraint.class, this, UMLPackage.TRANSITION__OWNED_RULE, null, OWNED_RULE_ESUBSETS, UMLPackage.CONSTRAINT__CONTEXT); } return ownedRules; } /** * * * @generated NOT */ public EList getRedefinitionContexts() { CacheAdapter cache = getCacheAdapter(); if (cache != null) { @SuppressWarnings("unchecked") EList result = (EList) cache.get(this, UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT); if (result == null) { Classifier redefinitionContext = redefinitionContext(); List redefinitionContexts = redefinitionContext == null ? Collections. emptyList() : Collections . singletonList(redefinitionContext); cache .put( this, UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT, result = new EcoreEList.UnmodifiableEList( this, UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT, redefinitionContexts.size(), redefinitionContexts .toArray())); } return result; } Classifier redefinitionContext = redefinitionContext(); List redefinitionContexts = redefinitionContext == null ? Collections. emptyList() : Collections.singletonList(redefinitionContext); return new EcoreEList.UnmodifiableEList(this, UMLPackage.Literals.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT, redefinitionContexts.size(), redefinitionContexts.toArray()); } /** * * * @generated */ public Classifier getRedefinitionContext(String name) { return getRedefinitionContext(name, false, null); } /** * * * @generated */ public Classifier getRedefinitionContext(String name, boolean ignoreCase, EClass eClass) { redefinitionContextLoop : for (Classifier redefinitionContext : getRedefinitionContexts()) { if (eClass != null && !eClass.isInstance(redefinitionContext)) continue redefinitionContextLoop; if (name != null && !(ignoreCase ? name.equalsIgnoreCase(redefinitionContext.getName()) : name.equals(redefinitionContext.getName()))) continue redefinitionContextLoop; return redefinitionContext; } return null; } /** * * * @generated */ public boolean isSetRedefinitionContexts() { return !getRedefinitionContexts().isEmpty(); } /** * * * @generated */ public boolean isLeaf() { return (eFlags & IS_LEAF_EFLAG) != 0; } /** * * * @generated */ public void setIsLeaf(boolean newIsLeaf) { boolean oldIsLeaf = (eFlags & IS_LEAF_EFLAG) != 0; if (newIsLeaf) eFlags |= IS_LEAF_EFLAG; else eFlags &= ~IS_LEAF_EFLAG; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, UMLPackage.TRANSITION__IS_LEAF, oldIsLeaf, newIsLeaf)); } /** * * * @generated */ @Override public Namespace getNamespace() { Namespace namespace = basicGetNamespace(); return namespace != null && namespace.eIsProxy() ? (Namespace) eResolveProxy((InternalEObject) namespace) : namespace; } /** * * * @generated */ public TransitionKind getKind() { return KIND_EFLAG_VALUES[(eFlags & KIND_EFLAG) >>> KIND_EFLAG_OFFSET]; } /** * * * @generated */ public void setKind(TransitionKind newKind) { TransitionKind oldKind = KIND_EFLAG_VALUES[(eFlags & KIND_EFLAG) >>> KIND_EFLAG_OFFSET]; if (newKind == null) newKind = KIND_EDEFAULT; eFlags = eFlags & ~KIND_EFLAG | newKind.ordinal() << KIND_EFLAG_OFFSET; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, UMLPackage.TRANSITION__KIND, oldKind, newKind)); } /** * * * @generated */ public Region getContainer() { if (eContainerFeatureID() != UMLPackage.TRANSITION__CONTAINER) return null; return (Region) eContainer(); } /** * * * @generated */ public Region basicGetContainer() { if (eContainerFeatureID() != UMLPackage.TRANSITION__CONTAINER) return null; return (Region) eInternalContainer(); } /** * * * @generated */ public NotificationChain basicSetContainer(Region newContainer, NotificationChain msgs) { msgs = eBasicSetContainer((InternalEObject) newContainer, UMLPackage.TRANSITION__CONTAINER, msgs); return msgs; } /** * * * @generated */ public void setContainer(Region newContainer) { if (newContainer != eInternalContainer() || (eContainerFeatureID() != UMLPackage.TRANSITION__CONTAINER && newContainer != null)) { if (EcoreUtil.isAncestor(this, newContainer)) throw new IllegalArgumentException( "Recursive containment not allowed for " + toString()); //$NON-NLS-1$ NotificationChain msgs = null; if (eInternalContainer() != null) msgs = eBasicRemoveFromContainer(msgs); if (newContainer != null) msgs = ((InternalEObject) newContainer).eInverseAdd(this, UMLPackage.REGION__TRANSITION, Region.class, msgs); msgs = basicSetContainer(newContainer, msgs); if (msgs != null) msgs.dispatch(); } else if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, UMLPackage.TRANSITION__CONTAINER, newContainer, newContainer)); } /** * * * @generated */ public Vertex getTarget() { if (target != null && target.eIsProxy()) { InternalEObject oldTarget = (InternalEObject) target; target = (Vertex) eResolveProxy(oldTarget); if (target != oldTarget) { if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLPackage.TRANSITION__TARGET, oldTarget, target)); } } return target; } /** * * * @generated */ public Vertex basicGetTarget() { return target; } /** * * * @generated */ public void setTarget(Vertex newTarget) { Vertex oldTarget = target; target = newTarget; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, UMLPackage.TRANSITION__TARGET, oldTarget, target)); } /** * * * @generated */ public Transition getRedefinedTransition() { if (redefinedTransition != null && redefinedTransition.eIsProxy()) { InternalEObject oldRedefinedTransition = (InternalEObject) redefinedTransition; redefinedTransition = (Transition) eResolveProxy(oldRedefinedTransition); if (redefinedTransition != oldRedefinedTransition) { if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLPackage.TRANSITION__REDEFINED_TRANSITION, oldRedefinedTransition, redefinedTransition)); } } return redefinedTransition; } /** * * * @generated */ public Transition basicGetRedefinedTransition() { return redefinedTransition; } /** * * * @generated */ public void setRedefinedTransition(Transition newRedefinedTransition) { Transition oldRedefinedTransition = redefinedTransition; redefinedTransition = newRedefinedTransition; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, UMLPackage.TRANSITION__REDEFINED_TRANSITION, oldRedefinedTransition, redefinedTransition)); } /** * * * @generated */ public Constraint getGuard() { if (guard != null && guard.eIsProxy()) { InternalEObject oldGuard = (InternalEObject) guard; guard = (Constraint) eResolveProxy(oldGuard); if (guard != oldGuard) { if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLPackage.TRANSITION__GUARD, oldGuard, guard)); } } return guard; } /** * * * @generated */ public Constraint basicGetGuard() { return guard; } /** * * * @generated */ public void setGuard(Constraint newGuard) { Constraint oldGuard = guard; guard = newGuard; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, UMLPackage.TRANSITION__GUARD, oldGuard, guard)); Resource.Internal eInternalResource = eInternalResource(); if (eInternalResource == null || !eInternalResource.isLoading()) { if (newGuard != null) { EList ownedRules = getOwnedRules(); if (!ownedRules.contains(newGuard)) { ownedRules.add(newGuard); } } } } /** * * * @generated */ public Constraint createGuard(String name, EClass eClass) { Constraint newGuard = (Constraint) create(eClass); setGuard(newGuard); if (name != null) newGuard.setName(name); return newGuard; } /** * * * @generated */ public Constraint createGuard(String name) { return createGuard(name, UMLPackage.Literals.CONSTRAINT); } /** * * * @generated */ public Behavior getEffect() { if (effect != null && effect.eIsProxy()) { InternalEObject oldEffect = (InternalEObject) effect; effect = (Behavior) eResolveProxy(oldEffect); if (effect != oldEffect) { InternalEObject newEffect = (InternalEObject) effect; NotificationChain msgs = oldEffect.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - UMLPackage.TRANSITION__EFFECT, null, null); if (newEffect.eInternalContainer() == null) { msgs = newEffect.eInverseAdd(this, EOPPOSITE_FEATURE_BASE - UMLPackage.TRANSITION__EFFECT, null, msgs); } if (msgs != null) msgs.dispatch(); if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLPackage.TRANSITION__EFFECT, oldEffect, effect)); } } return effect; } /** * * * @generated */ public Behavior basicGetEffect() { return effect; } /** * * * @generated */ public NotificationChain basicSetEffect(Behavior newEffect, NotificationChain msgs) { Behavior oldEffect = effect; effect = newEffect; if (eNotificationRequired()) { ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, UMLPackage.TRANSITION__EFFECT, oldEffect, newEffect); if (msgs == null) msgs = notification; else msgs.add(notification); } return msgs; } /** * * * @generated */ public void setEffect(Behavior newEffect) { if (newEffect != effect) { NotificationChain msgs = null; if (effect != null) msgs = ((InternalEObject) effect).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - UMLPackage.TRANSITION__EFFECT, null, msgs); if (newEffect != null) msgs = ((InternalEObject) newEffect).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - UMLPackage.TRANSITION__EFFECT, null, msgs); msgs = basicSetEffect(newEffect, msgs); if (msgs != null) msgs.dispatch(); } else if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, UMLPackage.TRANSITION__EFFECT, newEffect, newEffect)); } /** * * * @generated */ public Behavior createEffect(String name, EClass eClass) { Behavior newEffect = (Behavior) create(eClass); setEffect(newEffect); if (name != null) newEffect.setName(name); return newEffect; } /** * * * @generated */ public EList getTriggers() { if (triggers == null) { triggers = new EObjectContainmentEList.Resolving( Trigger.class, this, UMLPackage.TRANSITION__TRIGGER); } return triggers; } /** * * * @generated */ public Trigger createTrigger(String name) { Trigger newTrigger = (Trigger) create(UMLPackage.Literals.TRIGGER); getTriggers().add(newTrigger); if (name != null) newTrigger.setName(name); return newTrigger; } /** * * * @generated */ public Trigger getTrigger(String name) { return getTrigger(name, false, false); } /** * * * @generated */ public Trigger getTrigger(String name, boolean ignoreCase, boolean createOnDemand) { triggerLoop : for (Trigger trigger : getTriggers()) { if (name != null && !(ignoreCase ? name.equalsIgnoreCase(trigger.getName()) : name.equals(trigger.getName()))) continue triggerLoop; return trigger; } return createOnDemand ? createTrigger(name) : null; } /** * * * @generated */ public Vertex getSource() { if (source != null && source.eIsProxy()) { InternalEObject oldSource = (InternalEObject) source; source = (Vertex) eResolveProxy(oldSource); if (source != oldSource) { if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLPackage.TRANSITION__SOURCE, oldSource, source)); } } return source; } /** * * * @generated */ public Vertex basicGetSource() { return source; } /** * * * @generated */ public void setSource(Vertex newSource) { Vertex oldSource = source; source = newSource; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, UMLPackage.TRANSITION__SOURCE, oldSource, source)); } /** * * * @generated */ public boolean validateRedefinitionContextValid( DiagnosticChain diagnostics, Map context) { return RedefinableElementOperations.validateRedefinitionContextValid( this, diagnostics, context); } /** * * * @generated */ public boolean validateRedefinitionConsistent(DiagnosticChain diagnostics, Map context) { return RedefinableElementOperations.validateRedefinitionConsistent( this, diagnostics, context); } /** * * * @generated */ public boolean validateNonLeafRedefinition(DiagnosticChain diagnostics, Map context) { return RedefinableElementOperations.validateNonLeafRedefinition(this, diagnostics, context); } /** * * * @generated */ public boolean validateForkSegmentGuards(DiagnosticChain diagnostics, Map context) { return TransitionOperations.validateForkSegmentGuards(this, diagnostics, context); } /** * * * @generated */ public boolean validateJoinSegmentGuards(DiagnosticChain diagnostics, Map context) { return TransitionOperations.validateJoinSegmentGuards(this, diagnostics, context); } /** * * * @generated */ public boolean validateStateIsInternal(DiagnosticChain diagnostics, Map context) { return TransitionOperations.validateStateIsInternal(this, diagnostics, context); } /** * * * @generated */ public boolean validateForkSegmentState(DiagnosticChain diagnostics, Map context) { return TransitionOperations.validateForkSegmentState(this, diagnostics, context); } /** * * * @generated */ public boolean validateJoinSegmentState(DiagnosticChain diagnostics, Map context) { return TransitionOperations.validateJoinSegmentState(this, diagnostics, context); } /** * * * @generated */ public boolean validateOutgoingPseudostates(DiagnosticChain diagnostics, Map context) { return TransitionOperations.validateOutgoingPseudostates(this, diagnostics, context); } /** * * * @generated */ public boolean validateInitialTransition(DiagnosticChain diagnostics, Map context) { return TransitionOperations.validateInitialTransition(this, diagnostics, context); } /** * * * @generated */ public boolean validateSignaturesCompatible(DiagnosticChain diagnostics, Map context) { return TransitionOperations.validateSignaturesCompatible(this, diagnostics, context); } /** * * * @generated */ public boolean validateStateIsLocal(DiagnosticChain diagnostics, Map context) { return TransitionOperations.validateStateIsLocal(this, diagnostics, context); } /** * * * @generated */ public Classifier redefinitionContext() { return TransitionOperations.redefinitionContext(this); } /** * * * @generated */ public StateMachine containingStateMachine() { return TransitionOperations.containingStateMachine(this); } /** * * * @generated */ public boolean isConsistentWith(RedefinableElement redefinee) { return TransitionOperations.isConsistentWith(this, redefinee); } /** * * * @generated */ public boolean isRedefinitionContextValid(RedefinableElement redefined) { return RedefinableElementOperations.isRedefinitionContextValid(this, redefined); } /** * * * @generated */ public boolean validateStateIsExternal(DiagnosticChain diagnostics, Map context) { return TransitionOperations.validateStateIsExternal(this, diagnostics, context); } /** * * * @generated */ @SuppressWarnings("unchecked") @Override public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { switch (featureID) { case UMLPackage.TRANSITION__EANNOTATIONS : return ((InternalEList) (InternalEList) getEAnnotations()) .basicAdd(otherEnd, msgs); case UMLPackage.TRANSITION__CLIENT_DEPENDENCY : return ((InternalEList) (InternalEList) getClientDependencies()) .basicAdd(otherEnd, msgs); case UMLPackage.TRANSITION__ELEMENT_IMPORT : return ((InternalEList) (InternalEList) getElementImports()) .basicAdd(otherEnd, msgs); case UMLPackage.TRANSITION__PACKAGE_IMPORT : return ((InternalEList) (InternalEList) getPackageImports()) .basicAdd(otherEnd, msgs); case UMLPackage.TRANSITION__OWNED_RULE : return ((InternalEList) (InternalEList) getOwnedRules()) .basicAdd(otherEnd, msgs); case UMLPackage.TRANSITION__CONTAINER : if (eInternalContainer() != null) msgs = eBasicRemoveFromContainer(msgs); return basicSetContainer((Region) otherEnd, msgs); } return eDynamicInverseAdd(otherEnd, featureID, msgs); } /** * * * @generated */ @Override public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { switch (featureID) { case UMLPackage.TRANSITION__EANNOTATIONS : return ((InternalEList) getEAnnotations()).basicRemove( otherEnd, msgs); case UMLPackage.TRANSITION__OWNED_COMMENT : return ((InternalEList) getOwnedComments()).basicRemove( otherEnd, msgs); case UMLPackage.TRANSITION__CLIENT_DEPENDENCY : return ((InternalEList) getClientDependencies()) .basicRemove(otherEnd, msgs); case UMLPackage.TRANSITION__NAME_EXPRESSION : return basicSetNameExpression(null, msgs); case UMLPackage.TRANSITION__ELEMENT_IMPORT : return ((InternalEList) getElementImports()).basicRemove( otherEnd, msgs); case UMLPackage.TRANSITION__PACKAGE_IMPORT : return ((InternalEList) getPackageImports()).basicRemove( otherEnd, msgs); case UMLPackage.TRANSITION__OWNED_RULE : return ((InternalEList) getOwnedRules()).basicRemove( otherEnd, msgs); case UMLPackage.TRANSITION__EFFECT : return basicSetEffect(null, msgs); case UMLPackage.TRANSITION__TRIGGER : return ((InternalEList) getTriggers()).basicRemove(otherEnd, msgs); case UMLPackage.TRANSITION__CONTAINER : return basicSetContainer(null, msgs); } return eDynamicInverseRemove(otherEnd, featureID, msgs); } /** * * * @generated */ @Override public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs) { switch (eContainerFeatureID()) { case UMLPackage.TRANSITION__CONTAINER : return eInternalContainer().eInverseRemove(this, UMLPackage.REGION__TRANSITION, Region.class, msgs); } return eDynamicBasicRemoveFromContainer(msgs); } /** * * * @generated */ @Override public Object eGet(int featureID, boolean resolve, boolean coreType) { switch (featureID) { case UMLPackage.TRANSITION__EANNOTATIONS : return getEAnnotations(); case UMLPackage.TRANSITION__OWNED_COMMENT : return getOwnedComments(); case UMLPackage.TRANSITION__OWNED_ELEMENT : return getOwnedElements(); case UMLPackage.TRANSITION__OWNER : if (resolve) return getOwner(); return basicGetOwner(); case UMLPackage.TRANSITION__CLIENT_DEPENDENCY : return getClientDependencies(); case UMLPackage.TRANSITION__NAME : return getName(); case UMLPackage.TRANSITION__NAME_EXPRESSION : if (resolve) return getNameExpression(); return basicGetNameExpression(); case UMLPackage.TRANSITION__NAMESPACE : if (resolve) return getNamespace(); return basicGetNamespace(); case UMLPackage.TRANSITION__QUALIFIED_NAME : return getQualifiedName(); case UMLPackage.TRANSITION__VISIBILITY : return getVisibility(); case UMLPackage.TRANSITION__ELEMENT_IMPORT : return getElementImports(); case UMLPackage.TRANSITION__PACKAGE_IMPORT : return getPackageImports(); case UMLPackage.TRANSITION__OWNED_RULE : return getOwnedRules(); case UMLPackage.TRANSITION__OWNED_MEMBER : return getOwnedMembers(); case UMLPackage.TRANSITION__IMPORTED_MEMBER : return getImportedMembers(); case UMLPackage.TRANSITION__MEMBER : return getMembers(); case UMLPackage.TRANSITION__IS_LEAF : return isLeaf(); case UMLPackage.TRANSITION__REDEFINED_ELEMENT : return getRedefinedElements(); case UMLPackage.TRANSITION__REDEFINITION_CONTEXT : return getRedefinitionContexts(); case UMLPackage.TRANSITION__EFFECT : if (resolve) return getEffect(); return basicGetEffect(); case UMLPackage.TRANSITION__GUARD : if (resolve) return getGuard(); return basicGetGuard(); case UMLPackage.TRANSITION__KIND : return getKind(); case UMLPackage.TRANSITION__REDEFINED_TRANSITION : if (resolve) return getRedefinedTransition(); return basicGetRedefinedTransition(); case UMLPackage.TRANSITION__SOURCE : if (resolve) return getSource(); return basicGetSource(); case UMLPackage.TRANSITION__TARGET : if (resolve) return getTarget(); return basicGetTarget(); case UMLPackage.TRANSITION__TRIGGER : return getTriggers(); case UMLPackage.TRANSITION__CONTAINER : if (resolve) return getContainer(); return basicGetContainer(); } return eDynamicGet(featureID, resolve, coreType); } /** * * * @generated */ @SuppressWarnings("unchecked") @Override public void eSet(int featureID, Object newValue) { switch (featureID) { case UMLPackage.TRANSITION__EANNOTATIONS : getEAnnotations().clear(); getEAnnotations().addAll( (Collection) newValue); return; case UMLPackage.TRANSITION__OWNED_COMMENT : getOwnedComments().clear(); getOwnedComments().addAll( (Collection) newValue); return; case UMLPackage.TRANSITION__CLIENT_DEPENDENCY : getClientDependencies().clear(); getClientDependencies().addAll( (Collection) newValue); return; case UMLPackage.TRANSITION__NAME : setName((String) newValue); return; case UMLPackage.TRANSITION__NAME_EXPRESSION : setNameExpression((StringExpression) newValue); return; case UMLPackage.TRANSITION__VISIBILITY : setVisibility((VisibilityKind) newValue); return; case UMLPackage.TRANSITION__ELEMENT_IMPORT : getElementImports().clear(); getElementImports().addAll( (Collection) newValue); return; case UMLPackage.TRANSITION__PACKAGE_IMPORT : getPackageImports().clear(); getPackageImports().addAll( (Collection) newValue); return; case UMLPackage.TRANSITION__OWNED_RULE : getOwnedRules().clear(); getOwnedRules().addAll( (Collection) newValue); return; case UMLPackage.TRANSITION__IS_LEAF : setIsLeaf((Boolean) newValue); return; case UMLPackage.TRANSITION__EFFECT : setEffect((Behavior) newValue); return; case UMLPackage.TRANSITION__GUARD : setGuard((Constraint) newValue); return; case UMLPackage.TRANSITION__KIND : setKind((TransitionKind) newValue); return; case UMLPackage.TRANSITION__REDEFINED_TRANSITION : setRedefinedTransition((Transition) newValue); return; case UMLPackage.TRANSITION__SOURCE : setSource((Vertex) newValue); return; case UMLPackage.TRANSITION__TARGET : setTarget((Vertex) newValue); return; case UMLPackage.TRANSITION__TRIGGER : getTriggers().clear(); getTriggers().addAll((Collection) newValue); return; case UMLPackage.TRANSITION__CONTAINER : setContainer((Region) newValue); return; } eDynamicSet(featureID, newValue); } /** * * * @generated */ @Override public void eUnset(int featureID) { switch (featureID) { case UMLPackage.TRANSITION__EANNOTATIONS : getEAnnotations().clear(); return; case UMLPackage.TRANSITION__OWNED_COMMENT : getOwnedComments().clear(); return; case UMLPackage.TRANSITION__CLIENT_DEPENDENCY : getClientDependencies().clear(); return; case UMLPackage.TRANSITION__NAME : unsetName(); return; case UMLPackage.TRANSITION__NAME_EXPRESSION : setNameExpression((StringExpression) null); return; case UMLPackage.TRANSITION__VISIBILITY : unsetVisibility(); return; case UMLPackage.TRANSITION__ELEMENT_IMPORT : getElementImports().clear(); return; case UMLPackage.TRANSITION__PACKAGE_IMPORT : getPackageImports().clear(); return; case UMLPackage.TRANSITION__OWNED_RULE : getOwnedRules().clear(); return; case UMLPackage.TRANSITION__IS_LEAF : setIsLeaf(IS_LEAF_EDEFAULT); return; case UMLPackage.TRANSITION__EFFECT : setEffect((Behavior) null); return; case UMLPackage.TRANSITION__GUARD : setGuard((Constraint) null); return; case UMLPackage.TRANSITION__KIND : setKind(KIND_EDEFAULT); return; case UMLPackage.TRANSITION__REDEFINED_TRANSITION : setRedefinedTransition((Transition) null); return; case UMLPackage.TRANSITION__SOURCE : setSource((Vertex) null); return; case UMLPackage.TRANSITION__TARGET : setTarget((Vertex) null); return; case UMLPackage.TRANSITION__TRIGGER : getTriggers().clear(); return; case UMLPackage.TRANSITION__CONTAINER : setContainer((Region) null); return; } eDynamicUnset(featureID); } /** * * * @generated */ @Override public boolean eIsSet(int featureID) { switch (featureID) { case UMLPackage.TRANSITION__EANNOTATIONS : return eAnnotations != null && !eAnnotations.isEmpty(); case UMLPackage.TRANSITION__OWNED_COMMENT : return ownedComments != null && !ownedComments.isEmpty(); case UMLPackage.TRANSITION__OWNED_ELEMENT : return isSetOwnedElements(); case UMLPackage.TRANSITION__OWNER : return isSetOwner(); case UMLPackage.TRANSITION__CLIENT_DEPENDENCY : return clientDependencies != null && !clientDependencies.isEmpty(); case UMLPackage.TRANSITION__NAME : return isSetName(); case UMLPackage.TRANSITION__NAME_EXPRESSION : return nameExpression != null; case UMLPackage.TRANSITION__NAMESPACE : return isSetNamespace(); case UMLPackage.TRANSITION__QUALIFIED_NAME : return QUALIFIED_NAME_EDEFAULT == null ? getQualifiedName() != null : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName()); case UMLPackage.TRANSITION__VISIBILITY : return isSetVisibility(); case UMLPackage.TRANSITION__ELEMENT_IMPORT : return elementImports != null && !elementImports.isEmpty(); case UMLPackage.TRANSITION__PACKAGE_IMPORT : return packageImports != null && !packageImports.isEmpty(); case UMLPackage.TRANSITION__OWNED_RULE : return ownedRules != null && !ownedRules.isEmpty(); case UMLPackage.TRANSITION__OWNED_MEMBER : return isSetOwnedMembers(); case UMLPackage.TRANSITION__IMPORTED_MEMBER : return !getImportedMembers().isEmpty(); case UMLPackage.TRANSITION__MEMBER : return isSetMembers(); case UMLPackage.TRANSITION__IS_LEAF : return ((eFlags & IS_LEAF_EFLAG) != 0) != IS_LEAF_EDEFAULT; case UMLPackage.TRANSITION__REDEFINED_ELEMENT : return isSetRedefinedElements(); case UMLPackage.TRANSITION__REDEFINITION_CONTEXT : return isSetRedefinitionContexts(); case UMLPackage.TRANSITION__EFFECT : return effect != null; case UMLPackage.TRANSITION__GUARD : return guard != null; case UMLPackage.TRANSITION__KIND : return (eFlags & KIND_EFLAG) != KIND_EFLAG_DEFAULT; case UMLPackage.TRANSITION__REDEFINED_TRANSITION : return redefinedTransition != null; case UMLPackage.TRANSITION__SOURCE : return source != null; case UMLPackage.TRANSITION__TARGET : return target != null; case UMLPackage.TRANSITION__TRIGGER : return triggers != null && !triggers.isEmpty(); case UMLPackage.TRANSITION__CONTAINER : return basicGetContainer() != null; } return eDynamicIsSet(featureID); } /** * * * @generated */ @Override public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass) { if (baseClass == RedefinableElement.class) { switch (derivedFeatureID) { case UMLPackage.TRANSITION__IS_LEAF : return UMLPackage.REDEFINABLE_ELEMENT__IS_LEAF; case UMLPackage.TRANSITION__REDEFINED_ELEMENT : return UMLPackage.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT; case UMLPackage.TRANSITION__REDEFINITION_CONTEXT : return UMLPackage.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT; default : return -1; } } return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass); } /** * * * @generated */ @Override public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass) { if (baseClass == RedefinableElement.class) { switch (baseFeatureID) { case UMLPackage.REDEFINABLE_ELEMENT__IS_LEAF : return UMLPackage.TRANSITION__IS_LEAF; case UMLPackage.REDEFINABLE_ELEMENT__REDEFINED_ELEMENT : return UMLPackage.TRANSITION__REDEFINED_ELEMENT; case UMLPackage.REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT : return UMLPackage.TRANSITION__REDEFINITION_CONTEXT; default : return -1; } } return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); } /** * * * @generated */ @Override public int eDerivedOperationID(int baseOperationID, Class baseClass) { if (baseClass == RedefinableElement.class) { switch (baseOperationID) { case UMLPackage.REDEFINABLE_ELEMENT___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP : return UMLPackage.TRANSITION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP; case UMLPackage.REDEFINABLE_ELEMENT___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP : return UMLPackage.TRANSITION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP; case UMLPackage.REDEFINABLE_ELEMENT___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP : return UMLPackage.TRANSITION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP; case UMLPackage.REDEFINABLE_ELEMENT___IS_CONSISTENT_WITH__REDEFINABLEELEMENT : return UMLPackage.TRANSITION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT; case UMLPackage.REDEFINABLE_ELEMENT___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT : return UMLPackage.TRANSITION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT; default : return -1; } } return super.eDerivedOperationID(baseOperationID, baseClass); } /** * * * @generated */ @Override @SuppressWarnings("unchecked") public Object eInvoke(int operationID, EList arguments) throws InvocationTargetException { switch (operationID) { case UMLPackage.TRANSITION___GET_EANNOTATION__STRING : return getEAnnotation((String) arguments.get(0)); case UMLPackage.TRANSITION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP : return validateHasOwner((DiagnosticChain) arguments.get(0), (Map) arguments.get(1)); case UMLPackage.TRANSITION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP : return validateNotOwnSelf((DiagnosticChain) arguments.get(0), (Map) arguments.get(1)); case UMLPackage.TRANSITION___ADD_KEYWORD__STRING : return addKeyword((String) arguments.get(0)); case UMLPackage.TRANSITION___APPLY_STEREOTYPE__STEREOTYPE : return applyStereotype((Stereotype) arguments.get(0)); case UMLPackage.TRANSITION___CREATE_EANNOTATION__STRING : return createEAnnotation((String) arguments.get(0)); case UMLPackage.TRANSITION___DESTROY : destroy(); return null; case UMLPackage.TRANSITION___GET_KEYWORDS : return getKeywords(); case UMLPackage.TRANSITION___GET_APPLICABLE_STEREOTYPE__STRING : return getApplicableStereotype((String) arguments.get(0)); case UMLPackage.TRANSITION___GET_APPLICABLE_STEREOTYPES : return getApplicableStereotypes(); case UMLPackage.TRANSITION___GET_APPLIED_STEREOTYPE__STRING : return getAppliedStereotype((String) arguments.get(0)); case UMLPackage.TRANSITION___GET_APPLIED_STEREOTYPES : return getAppliedStereotypes(); case UMLPackage.TRANSITION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING : return getAppliedSubstereotype((Stereotype) arguments.get(0), (String) arguments.get(1)); case UMLPackage.TRANSITION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE : return getAppliedSubstereotypes((Stereotype) arguments.get(0)); case UMLPackage.TRANSITION___GET_MODEL : return getModel(); case UMLPackage.TRANSITION___GET_NEAREST_PACKAGE : return getNearestPackage(); case UMLPackage.TRANSITION___GET_RELATIONSHIPS : return getRelationships(); case UMLPackage.TRANSITION___GET_RELATIONSHIPS__ECLASS : return getRelationships((EClass) arguments.get(0)); case UMLPackage.TRANSITION___GET_REQUIRED_STEREOTYPE__STRING : return getRequiredStereotype((String) arguments.get(0)); case UMLPackage.TRANSITION___GET_REQUIRED_STEREOTYPES : return getRequiredStereotypes(); case UMLPackage.TRANSITION___GET_SOURCE_DIRECTED_RELATIONSHIPS : return getSourceDirectedRelationships(); case UMLPackage.TRANSITION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS : return getSourceDirectedRelationships((EClass) arguments.get(0)); case UMLPackage.TRANSITION___GET_STEREOTYPE_APPLICATION__STEREOTYPE : return getStereotypeApplication((Stereotype) arguments.get(0)); case UMLPackage.TRANSITION___GET_STEREOTYPE_APPLICATIONS : return getStereotypeApplications(); case UMLPackage.TRANSITION___GET_TARGET_DIRECTED_RELATIONSHIPS : return getTargetDirectedRelationships(); case UMLPackage.TRANSITION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS : return getTargetDirectedRelationships((EClass) arguments.get(0)); case UMLPackage.TRANSITION___GET_VALUE__STEREOTYPE_STRING : return getValue((Stereotype) arguments.get(0), (String) arguments.get(1)); case UMLPackage.TRANSITION___HAS_KEYWORD__STRING : return hasKeyword((String) arguments.get(0)); case UMLPackage.TRANSITION___HAS_VALUE__STEREOTYPE_STRING : return hasValue((Stereotype) arguments.get(0), (String) arguments.get(1)); case UMLPackage.TRANSITION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE : return isStereotypeApplicable((Stereotype) arguments.get(0)); case UMLPackage.TRANSITION___IS_STEREOTYPE_APPLIED__STEREOTYPE : return isStereotypeApplied((Stereotype) arguments.get(0)); case UMLPackage.TRANSITION___IS_STEREOTYPE_REQUIRED__STEREOTYPE : return isStereotypeRequired((Stereotype) arguments.get(0)); case UMLPackage.TRANSITION___REMOVE_KEYWORD__STRING : return removeKeyword((String) arguments.get(0)); case UMLPackage.TRANSITION___SET_VALUE__STEREOTYPE_STRING_OBJECT : setValue((Stereotype) arguments.get(0), (String) arguments.get(1), arguments.get(2)); return null; case UMLPackage.TRANSITION___UNAPPLY_STEREOTYPE__STEREOTYPE : return unapplyStereotype((Stereotype) arguments.get(0)); case UMLPackage.TRANSITION___ALL_OWNED_ELEMENTS : return allOwnedElements(); case UMLPackage.TRANSITION___MUST_BE_OWNED : return mustBeOwned(); case UMLPackage.TRANSITION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP : return validateHasQualifiedName( (DiagnosticChain) arguments.get(0), (Map) arguments.get(1)); case UMLPackage.TRANSITION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP : return validateHasNoQualifiedName( (DiagnosticChain) arguments.get(0), (Map) arguments.get(1)); case UMLPackage.TRANSITION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP : return validateVisibilityNeedsOwnership( (DiagnosticChain) arguments.get(0), (Map) arguments.get(1)); case UMLPackage.TRANSITION___CREATE_DEPENDENCY__NAMEDELEMENT : return createDependency((NamedElement) arguments.get(0)); case UMLPackage.TRANSITION___CREATE_USAGE__NAMEDELEMENT : return createUsage((NamedElement) arguments.get(0)); case UMLPackage.TRANSITION___GET_LABEL : return getLabel(); case UMLPackage.TRANSITION___GET_LABEL__BOOLEAN : return getLabel((Boolean) arguments.get(0)); case UMLPackage.TRANSITION___ALL_NAMESPACES : return allNamespaces(); case UMLPackage.TRANSITION___ALL_OWNING_PACKAGES : return allOwningPackages(); case UMLPackage.TRANSITION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE : return isDistinguishableFrom((NamedElement) arguments.get(0), (Namespace) arguments.get(1)); case UMLPackage.TRANSITION___GET_NAMESPACE : return getNamespace(); case UMLPackage.TRANSITION___GET_QUALIFIED_NAME : return getQualifiedName(); case UMLPackage.TRANSITION___SEPARATOR : return separator(); case UMLPackage.TRANSITION___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP : return validateMembersDistinguishable( (DiagnosticChain) arguments.get(0), (Map) arguments.get(1)); case UMLPackage.TRANSITION___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND : return createElementImport( (PackageableElement) arguments.get(0), (VisibilityKind) arguments.get(1)); case UMLPackage.TRANSITION___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND : return createPackageImport( (org.eclipse.uml2.uml.Package) arguments.get(0), (VisibilityKind) arguments.get(1)); case UMLPackage.TRANSITION___GET_IMPORTED_ELEMENTS : return getImportedElements(); case UMLPackage.TRANSITION___GET_IMPORTED_PACKAGES : return getImportedPackages(); case UMLPackage.TRANSITION___EXCLUDE_COLLISIONS__ELIST : return excludeCollisions((EList) arguments .get(0)); case UMLPackage.TRANSITION___GET_NAMES_OF_MEMBER__NAMEDELEMENT : return getNamesOfMember((NamedElement) arguments.get(0)); case UMLPackage.TRANSITION___IMPORT_MEMBERS__ELIST : return importMembers((EList) arguments .get(0)); case UMLPackage.TRANSITION___GET_IMPORTED_MEMBERS : return getImportedMembers(); case UMLPackage.TRANSITION___MEMBERS_ARE_DISTINGUISHABLE : return membersAreDistinguishable(); case UMLPackage.TRANSITION___GET_OWNED_MEMBERS : return getOwnedMembers(); case UMLPackage.TRANSITION___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP : return validateRedefinitionConsistent( (DiagnosticChain) arguments.get(0), (Map) arguments.get(1)); case UMLPackage.TRANSITION___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP : return validateNonLeafRedefinition( (DiagnosticChain) arguments.get(0), (Map) arguments.get(1)); case UMLPackage.TRANSITION___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP : return validateRedefinitionContextValid( (DiagnosticChain) arguments.get(0), (Map) arguments.get(1)); case UMLPackage.TRANSITION___IS_CONSISTENT_WITH__REDEFINABLEELEMENT : return isConsistentWith((RedefinableElement) arguments.get(0)); case UMLPackage.TRANSITION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT : return isRedefinitionContextValid((RedefinableElement) arguments .get(0)); case UMLPackage.TRANSITION___VALIDATE_STATE_IS_LOCAL__DIAGNOSTICCHAIN_MAP : return validateStateIsLocal((DiagnosticChain) arguments.get(0), (Map) arguments.get(1)); case UMLPackage.TRANSITION___VALIDATE_FORK_SEGMENT_GUARDS__DIAGNOSTICCHAIN_MAP : return validateForkSegmentGuards( (DiagnosticChain) arguments.get(0), (Map) arguments.get(1)); case UMLPackage.TRANSITION___VALIDATE_JOIN_SEGMENT_STATE__DIAGNOSTICCHAIN_MAP : return validateJoinSegmentState( (DiagnosticChain) arguments.get(0), (Map) arguments.get(1)); case UMLPackage.TRANSITION___VALIDATE_INITIAL_TRANSITION__DIAGNOSTICCHAIN_MAP : return validateInitialTransition( (DiagnosticChain) arguments.get(0), (Map) arguments.get(1)); case UMLPackage.TRANSITION___VALIDATE_OUTGOING_PSEUDOSTATES__DIAGNOSTICCHAIN_MAP : return validateOutgoingPseudostates( (DiagnosticChain) arguments.get(0), (Map) arguments.get(1)); case UMLPackage.TRANSITION___VALIDATE_SIGNATURES_COMPATIBLE__DIAGNOSTICCHAIN_MAP : return validateSignaturesCompatible( (DiagnosticChain) arguments.get(0), (Map) arguments.get(1)); case UMLPackage.TRANSITION___VALIDATE_STATE_IS_INTERNAL__DIAGNOSTICCHAIN_MAP : return validateStateIsInternal( (DiagnosticChain) arguments.get(0), (Map) arguments.get(1)); case UMLPackage.TRANSITION___VALIDATE_JOIN_SEGMENT_GUARDS__DIAGNOSTICCHAIN_MAP : return validateJoinSegmentGuards( (DiagnosticChain) arguments.get(0), (Map) arguments.get(1)); case UMLPackage.TRANSITION___VALIDATE_FORK_SEGMENT_STATE__DIAGNOSTICCHAIN_MAP : return validateForkSegmentState( (DiagnosticChain) arguments.get(0), (Map) arguments.get(1)); case UMLPackage.TRANSITION___VALIDATE_STATE_IS_EXTERNAL__DIAGNOSTICCHAIN_MAP : return validateStateIsExternal( (DiagnosticChain) arguments.get(0), (Map) arguments.get(1)); case UMLPackage.TRANSITION___CONTAINING_STATE_MACHINE : return containingStateMachine(); case UMLPackage.TRANSITION___REDEFINITION_CONTEXT : return redefinitionContext(); } return eDynamicInvoke(operationID, arguments); } /** * * * @generated */ @Override public String toString() { if (eIsProxy()) return super.toString(); StringBuffer result = new StringBuffer(super.toString()); result.append(" (isLeaf: "); //$NON-NLS-1$ result.append((eFlags & IS_LEAF_EFLAG) != 0); result.append(", kind: "); //$NON-NLS-1$ result .append(KIND_EFLAG_VALUES[(eFlags & KIND_EFLAG) >>> KIND_EFLAG_OFFSET]); result.append(')'); return result.toString(); } /** * The array of subset feature identifiers for the '{@link #getRedefinedElements() Redefined Element}' reference list. * * * @see #getRedefinedElements() * @generated * @ordered */ protected static final int[] REDEFINED_ELEMENT_ESUBSETS = new int[]{UMLPackage.TRANSITION__REDEFINED_TRANSITION}; /** * * * @generated */ public RedefinableElement getRedefinedElement(String name) { return getRedefinedElement(name, false, null); } /** * * * @generated */ public RedefinableElement getRedefinedElement(String name, boolean ignoreCase, EClass eClass) { redefinedElementLoop : for (RedefinableElement redefinedElement : getRedefinedElements()) { if (eClass != null && !eClass.isInstance(redefinedElement)) continue redefinedElementLoop; if (name != null && !(ignoreCase ? name.equalsIgnoreCase(redefinedElement.getName()) : name.equals(redefinedElement.getName()))) continue redefinedElementLoop; return redefinedElement; } return null; } /** * * * @generated */ @Override public Namespace basicGetNamespace() { Region container = basicGetContainer(); if (container != null) { return container; } return super.basicGetNamespace(); } /** * * * @generated */ @Override public boolean isSetNamespace() { return super.isSetNamespace() || eIsSet(UMLPackage.TRANSITION__CONTAINER); } /** * The array of subset feature identifiers for the '{@link #getOwnedElements() Owned Element}' reference list. * * * @see #getOwnedElements() * @generated * @ordered */ protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{ UMLPackage.TRANSITION__OWNED_COMMENT, UMLPackage.TRANSITION__NAME_EXPRESSION, UMLPackage.TRANSITION__ELEMENT_IMPORT, UMLPackage.TRANSITION__PACKAGE_IMPORT, UMLPackage.TRANSITION__OWNED_MEMBER, UMLPackage.TRANSITION__EFFECT, UMLPackage.TRANSITION__TRIGGER}; /** * The array of subset feature identifiers for the '{@link #getOwnedRules() Owned Rule}' containment reference list. * * * @see #getOwnedRules() * @generated * @ordered */ protected static final int[] OWNED_RULE_ESUBSETS = new int[]{UMLPackage.TRANSITION__GUARD}; /** * * * @generated */ public boolean isSetRedefinedElements() { return eIsSet(UMLPackage.TRANSITION__REDEFINED_TRANSITION); } /** * * * @generated */ @Override public boolean isSetOwnedElements() { return super.isSetOwnedElements() || eIsSet(UMLPackage.TRANSITION__EFFECT) || eIsSet(UMLPackage.TRANSITION__TRIGGER); } } //TransitionImpl




© 2015 - 2025 Weber Informatics LLC | Privacy Policy