blob: f2b127315bafd14d293c402d1b2c4de68caa5f38 [file] [log] [blame]
/**
* Copyright (c) 2016 CEA LIST 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:
* CEA LIST - Initial API and implementation
*
*/
package org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl;
import java.lang.reflect.InvocationTargetException;
import java.util.Collection;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EAnnotation;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EModelElement;
import org.eclipse.emf.ecore.EcorePackage;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.util.EDataTypeEList;
import org.eclipse.emf.ecore.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
import org.eclipse.emf.ecore.util.InternalEList;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.ConveyedType;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.DependsOnType;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.ElementsType;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.End1_Type;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.End2_Type;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.FromLinkType;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.ICallAction;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.IClass;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.IDependency;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.IDescription;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.IMHyperLink;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.IModelElement;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.IPart;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.IPropertyContainer;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.ISlot;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.ITag;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.IUnit;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.InverseType;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.M_hTargetType;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.M_pModelObjectType;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.M_subjectType;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.TargetType;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.ToLinkType;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.UMLRpyPackage;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.ValueType;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>IPart</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.IPartImpl#getUmlDependencyID <em>Uml Dependency ID</em>}</li>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.IPartImpl#getObjectCreation <em>Object Creation</em>}</li>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.IPartImpl#getModifiedTimeWeak <em>Modified Time Weak</em>}</li>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.IPartImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.IPartImpl#getMyState <em>My State</em>}</li>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.IPartImpl#getName <em>Name</em>}</li>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.IPartImpl#getRequiremenTracabilityHandle <em>Requiremen Tracability Handle</em>}</li>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.IPartImpl#getDescription <em>Description</em>}</li>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.IPartImpl#getProperties <em>Properties</em>}</li>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.IPartImpl#getImplicitClass <em>Implicit Class</em>}</li>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.IPartImpl#getLastID <em>Last ID</em>}</li>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.IPartImpl#getMultiplicity <em>Multiplicity</em>}</li>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.IPartImpl#getEAnnotations <em>EAnnotations</em>}</li>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.IPartImpl#getDisplayName <em>Display Name</em>}</li>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.IPartImpl#getStereotypes <em>Stereotypes</em>}</li>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.IPartImpl#getOtherClass <em>Other Class</em>}</li>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.IPartImpl#getInverse <em>Inverse</em>}</li>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.IPartImpl#getDependencies <em>Dependencies</em>}</li>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.IPartImpl#getTags <em>Tags</em>}</li>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.IPartImpl#getInitialCallAction <em>Initial Call Action</em>}</li>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.IPartImpl#getCodeUpdateCGTime <em>Code Update CG Time</em>}</li>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.IPartImpl#getTheMainDiagram <em>The Main Diagram</em>}</li>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.IPartImpl#getSlots <em>Slots</em>}</li>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.IPartImpl#getHyperLinks <em>Hyper Links</em>}</li>
* </ul>
*
* @generated
*/
public class IPartImpl extends AssociationsTypeImpl implements IPart {
/**
* The default value of the '{@link #getUmlDependencyID() <em>Uml Dependency ID</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getUmlDependencyID()
* @generated
* @ordered
*/
protected static final String UML_DEPENDENCY_ID_EDEFAULT = null;
/**
* The cached value of the '{@link #getUmlDependencyID() <em>Uml Dependency ID</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getUmlDependencyID()
* @generated
* @ordered
*/
protected String umlDependencyID = UML_DEPENDENCY_ID_EDEFAULT;
/**
* The default value of the '{@link #getObjectCreation() <em>Object Creation</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getObjectCreation()
* @generated
* @ordered
*/
protected static final String OBJECT_CREATION_EDEFAULT = null;
/**
* The cached value of the '{@link #getObjectCreation() <em>Object Creation</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getObjectCreation()
* @generated
* @ordered
*/
protected String objectCreation = OBJECT_CREATION_EDEFAULT;
/**
* The cached value of the '{@link #getModifiedTimeWeak() <em>Modified Time Weak</em>}' attribute list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getModifiedTimeWeak()
* @generated
* @ordered
*/
protected EList<String> modifiedTimeWeak;
/**
* The default value of the '{@link #getId() <em>Id</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getId()
* @generated
* @ordered
*/
protected static final String ID_EDEFAULT = null;
/**
* The cached value of the '{@link #getId() <em>Id</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getId()
* @generated
* @ordered
*/
protected String id = ID_EDEFAULT;
/**
* The default value of the '{@link #getMyState() <em>My State</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getMyState()
* @generated
* @ordered
*/
protected static final String MY_STATE_EDEFAULT = null;
/**
* The cached value of the '{@link #getMyState() <em>My State</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getMyState()
* @generated
* @ordered
*/
protected String myState = MY_STATE_EDEFAULT;
/**
* The default value of the '{@link #getName() <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getName()
* @generated
* @ordered
*/
protected static final String NAME_EDEFAULT = null;
/**
* The cached value of the '{@link #getName() <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getName()
* @generated
* @ordered
*/
protected String name = NAME_EDEFAULT;
/**
* The default value of the '{@link #getRequiremenTracabilityHandle() <em>Requiremen Tracability Handle</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getRequiremenTracabilityHandle()
* @generated
* @ordered
*/
protected static final String REQUIREMEN_TRACABILITY_HANDLE_EDEFAULT = null;
/**
* The cached value of the '{@link #getRequiremenTracabilityHandle() <em>Requiremen Tracability Handle</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getRequiremenTracabilityHandle()
* @generated
* @ordered
*/
protected String requiremenTracabilityHandle = REQUIREMEN_TRACABILITY_HANDLE_EDEFAULT;
/**
* The cached value of the '{@link #getDescription() <em>Description</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getDescription()
* @generated
* @ordered
*/
protected IDescription description;
/**
* The cached value of the '{@link #getProperties() <em>Properties</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getProperties()
* @generated
* @ordered
*/
protected IPropertyContainer properties;
/**
* The cached value of the '{@link #getImplicitClass() <em>Implicit Class</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getImplicitClass()
* @generated
* @ordered
*/
protected IClass implicitClass;
/**
* The default value of the '{@link #getLastID() <em>Last ID</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getLastID()
* @generated
* @ordered
*/
protected static final String LAST_ID_EDEFAULT = null;
/**
* The cached value of the '{@link #getLastID() <em>Last ID</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getLastID()
* @generated
* @ordered
*/
protected String lastID = LAST_ID_EDEFAULT;
/**
* The default value of the '{@link #getMultiplicity() <em>Multiplicity</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getMultiplicity()
* @generated
* @ordered
*/
protected static final String MULTIPLICITY_EDEFAULT = null;
/**
* The cached value of the '{@link #getMultiplicity() <em>Multiplicity</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getMultiplicity()
* @generated
* @ordered
*/
protected String multiplicity = MULTIPLICITY_EDEFAULT;
/**
* The cached value of the '{@link #getEAnnotations() <em>EAnnotations</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getEAnnotations()
* @generated
* @ordered
*/
protected EList<EAnnotation> eAnnotations;
/**
* The default value of the '{@link #getDisplayName() <em>Display Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getDisplayName()
* @generated
* @ordered
*/
protected static final String DISPLAY_NAME_EDEFAULT = null;
/**
* The cached value of the '{@link #getDisplayName() <em>Display Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getDisplayName()
* @generated
* @ordered
*/
protected String displayName = DISPLAY_NAME_EDEFAULT;
/**
* The cached value of the '{@link #getStereotypes() <em>Stereotypes</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getStereotypes()
* @generated
* @ordered
*/
protected IUnit stereotypes;
/**
* The cached value of the '{@link #getOtherClass() <em>Other Class</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getOtherClass()
* @generated
* @ordered
*/
protected IUnit otherClass;
/**
* The cached value of the '{@link #getInverse() <em>Inverse</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getInverse()
* @generated
* @ordered
*/
protected InverseType inverse;
/**
* The cached value of the '{@link #getDependencies() <em>Dependencies</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getDependencies()
* @generated
* @ordered
*/
protected EList<IDependency> dependencies;
/**
* The cached value of the '{@link #getTags() <em>Tags</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getTags()
* @generated
* @ordered
*/
protected ITag tags;
/**
* The cached value of the '{@link #getInitialCallAction() <em>Initial Call Action</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getInitialCallAction()
* @generated
* @ordered
*/
protected ICallAction initialCallAction;
/**
* The cached value of the '{@link #getCodeUpdateCGTime() <em>Code Update CG Time</em>}' attribute list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getCodeUpdateCGTime()
* @generated
* @ordered
*/
protected EList<String> codeUpdateCGTime;
/**
* The cached value of the '{@link #getTheMainDiagram() <em>The Main Diagram</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getTheMainDiagram()
* @generated
* @ordered
*/
protected DependsOnType theMainDiagram;
/**
* The cached value of the '{@link #getSlots() <em>Slots</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getSlots()
* @generated
* @ordered
*/
protected ISlot slots;
/**
* The cached value of the '{@link #getHyperLinks() <em>Hyper Links</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getHyperLinks()
* @generated
* @ordered
*/
protected EList<IMHyperLink> hyperLinks;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected IPartImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass() {
return UMLRpyPackage.eINSTANCE.getIPart();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getUmlDependencyID() {
return umlDependencyID;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setUmlDependencyID(String newUmlDependencyID) {
String oldUmlDependencyID = umlDependencyID;
umlDependencyID = newUmlDependencyID;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UMLRpyPackage.IPART__UML_DEPENDENCY_ID, oldUmlDependencyID, umlDependencyID));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getObjectCreation() {
return objectCreation;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setObjectCreation(String newObjectCreation) {
String oldObjectCreation = objectCreation;
objectCreation = newObjectCreation;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UMLRpyPackage.IPART__OBJECT_CREATION, oldObjectCreation, objectCreation));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<String> getModifiedTimeWeak() {
if (modifiedTimeWeak == null) {
modifiedTimeWeak = new EDataTypeEList<String>(String.class, this, UMLRpyPackage.IPART__MODIFIED_TIME_WEAK);
}
return modifiedTimeWeak;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getId() {
return id;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setId(String newId) {
String oldId = id;
id = newId;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UMLRpyPackage.IPART__ID, oldId, id));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getMyState() {
return myState;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setMyState(String newMyState) {
String oldMyState = myState;
myState = newMyState;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UMLRpyPackage.IPART__MY_STATE, oldMyState, myState));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getName() {
return name;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setName(String newName) {
String oldName = name;
name = newName;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UMLRpyPackage.IPART__NAME, oldName, name));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getRequiremenTracabilityHandle() {
return requiremenTracabilityHandle;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setRequiremenTracabilityHandle(String newRequiremenTracabilityHandle) {
String oldRequiremenTracabilityHandle = requiremenTracabilityHandle;
requiremenTracabilityHandle = newRequiremenTracabilityHandle;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UMLRpyPackage.IPART__REQUIREMEN_TRACABILITY_HANDLE, oldRequiremenTracabilityHandle, requiremenTracabilityHandle));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public IDescription getDescription() {
if (description != null && description.eIsProxy()) {
InternalEObject oldDescription = (InternalEObject)description;
description = (IDescription)eResolveProxy(oldDescription);
if (description != oldDescription) {
InternalEObject newDescription = (InternalEObject)description;
NotificationChain msgs = oldDescription.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - UMLRpyPackage.IPART__DESCRIPTION, null, null);
if (newDescription.eInternalContainer() == null) {
msgs = newDescription.eInverseAdd(this, EOPPOSITE_FEATURE_BASE - UMLRpyPackage.IPART__DESCRIPTION, null, msgs);
}
if (msgs != null) msgs.dispatch();
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLRpyPackage.IPART__DESCRIPTION, oldDescription, description));
}
}
return description;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public IDescription basicGetDescription() {
return description;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetDescription(IDescription newDescription, NotificationChain msgs) {
IDescription oldDescription = description;
description = newDescription;
if (eNotificationRequired()) {
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, UMLRpyPackage.IPART__DESCRIPTION, oldDescription, newDescription);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setDescription(IDescription newDescription) {
if (newDescription != description) {
NotificationChain msgs = null;
if (description != null)
msgs = ((InternalEObject)description).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - UMLRpyPackage.IPART__DESCRIPTION, null, msgs);
if (newDescription != null)
msgs = ((InternalEObject)newDescription).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - UMLRpyPackage.IPART__DESCRIPTION, null, msgs);
msgs = basicSetDescription(newDescription, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UMLRpyPackage.IPART__DESCRIPTION, newDescription, newDescription));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public IPropertyContainer getProperties() {
if (properties != null && properties.eIsProxy()) {
InternalEObject oldProperties = (InternalEObject)properties;
properties = (IPropertyContainer)eResolveProxy(oldProperties);
if (properties != oldProperties) {
InternalEObject newProperties = (InternalEObject)properties;
NotificationChain msgs = oldProperties.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - UMLRpyPackage.IPART__PROPERTIES, null, null);
if (newProperties.eInternalContainer() == null) {
msgs = newProperties.eInverseAdd(this, EOPPOSITE_FEATURE_BASE - UMLRpyPackage.IPART__PROPERTIES, null, msgs);
}
if (msgs != null) msgs.dispatch();
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLRpyPackage.IPART__PROPERTIES, oldProperties, properties));
}
}
return properties;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public IPropertyContainer basicGetProperties() {
return properties;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetProperties(IPropertyContainer newProperties, NotificationChain msgs) {
IPropertyContainer oldProperties = properties;
properties = newProperties;
if (eNotificationRequired()) {
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, UMLRpyPackage.IPART__PROPERTIES, oldProperties, newProperties);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setProperties(IPropertyContainer newProperties) {
if (newProperties != properties) {
NotificationChain msgs = null;
if (properties != null)
msgs = ((InternalEObject)properties).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - UMLRpyPackage.IPART__PROPERTIES, null, msgs);
if (newProperties != null)
msgs = ((InternalEObject)newProperties).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - UMLRpyPackage.IPART__PROPERTIES, null, msgs);
msgs = basicSetProperties(newProperties, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UMLRpyPackage.IPART__PROPERTIES, newProperties, newProperties));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public IClass getImplicitClass() {
if (implicitClass != null && implicitClass.eIsProxy()) {
InternalEObject oldImplicitClass = (InternalEObject)implicitClass;
implicitClass = (IClass)eResolveProxy(oldImplicitClass);
if (implicitClass != oldImplicitClass) {
InternalEObject newImplicitClass = (InternalEObject)implicitClass;
NotificationChain msgs = oldImplicitClass.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - UMLRpyPackage.IPART__IMPLICIT_CLASS, null, null);
if (newImplicitClass.eInternalContainer() == null) {
msgs = newImplicitClass.eInverseAdd(this, EOPPOSITE_FEATURE_BASE - UMLRpyPackage.IPART__IMPLICIT_CLASS, null, msgs);
}
if (msgs != null) msgs.dispatch();
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLRpyPackage.IPART__IMPLICIT_CLASS, oldImplicitClass, implicitClass));
}
}
return implicitClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public IClass basicGetImplicitClass() {
return implicitClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetImplicitClass(IClass newImplicitClass, NotificationChain msgs) {
IClass oldImplicitClass = implicitClass;
implicitClass = newImplicitClass;
if (eNotificationRequired()) {
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, UMLRpyPackage.IPART__IMPLICIT_CLASS, oldImplicitClass, newImplicitClass);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setImplicitClass(IClass newImplicitClass) {
if (newImplicitClass != implicitClass) {
NotificationChain msgs = null;
if (implicitClass != null)
msgs = ((InternalEObject)implicitClass).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - UMLRpyPackage.IPART__IMPLICIT_CLASS, null, msgs);
if (newImplicitClass != null)
msgs = ((InternalEObject)newImplicitClass).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - UMLRpyPackage.IPART__IMPLICIT_CLASS, null, msgs);
msgs = basicSetImplicitClass(newImplicitClass, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UMLRpyPackage.IPART__IMPLICIT_CLASS, newImplicitClass, newImplicitClass));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getLastID() {
return lastID;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setLastID(String newLastID) {
String oldLastID = lastID;
lastID = newLastID;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UMLRpyPackage.IPART__LAST_ID, oldLastID, lastID));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getMultiplicity() {
return multiplicity;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setMultiplicity(String newMultiplicity) {
String oldMultiplicity = multiplicity;
multiplicity = newMultiplicity;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UMLRpyPackage.IPART__MULTIPLICITY, oldMultiplicity, multiplicity));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<EAnnotation> getEAnnotations() {
if (eAnnotations == null) {
eAnnotations = new EObjectContainmentWithInverseEList<EAnnotation>(EAnnotation.class, this, UMLRpyPackage.IPART__EANNOTATIONS, EcorePackage.EANNOTATION__EMODEL_ELEMENT);
}
return eAnnotations;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getDisplayName() {
return displayName;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setDisplayName(String newDisplayName) {
String oldDisplayName = displayName;
displayName = newDisplayName;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UMLRpyPackage.IPART__DISPLAY_NAME, oldDisplayName, displayName));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public IUnit getStereotypes() {
if (stereotypes != null && stereotypes.eIsProxy()) {
InternalEObject oldStereotypes = (InternalEObject)stereotypes;
stereotypes = (IUnit)eResolveProxy(oldStereotypes);
if (stereotypes != oldStereotypes) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLRpyPackage.IPART__STEREOTYPES, oldStereotypes, stereotypes));
}
}
return stereotypes;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public IUnit basicGetStereotypes() {
return stereotypes;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setStereotypes(IUnit newStereotypes) {
IUnit oldStereotypes = stereotypes;
stereotypes = newStereotypes;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UMLRpyPackage.IPART__STEREOTYPES, oldStereotypes, stereotypes));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public IUnit getOtherClass() {
if (otherClass != null && otherClass.eIsProxy()) {
InternalEObject oldOtherClass = (InternalEObject)otherClass;
otherClass = (IUnit)eResolveProxy(oldOtherClass);
if (otherClass != oldOtherClass) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLRpyPackage.IPART__OTHER_CLASS, oldOtherClass, otherClass));
}
}
return otherClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public IUnit basicGetOtherClass() {
return otherClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setOtherClass(IUnit newOtherClass) {
IUnit oldOtherClass = otherClass;
otherClass = newOtherClass;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UMLRpyPackage.IPART__OTHER_CLASS, oldOtherClass, otherClass));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public InverseType getInverse() {
if (inverse != null && inverse.eIsProxy()) {
InternalEObject oldInverse = (InternalEObject)inverse;
inverse = (InverseType)eResolveProxy(oldInverse);
if (inverse != oldInverse) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLRpyPackage.IPART__INVERSE, oldInverse, inverse));
}
}
return inverse;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public InverseType basicGetInverse() {
return inverse;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setInverse(InverseType newInverse) {
InverseType oldInverse = inverse;
inverse = newInverse;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UMLRpyPackage.IPART__INVERSE, oldInverse, inverse));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<IDependency> getDependencies() {
if (dependencies == null) {
dependencies = new EObjectContainmentEList.Resolving<IDependency>(IDependency.class, this, UMLRpyPackage.IPART__DEPENDENCIES);
}
return dependencies;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ITag getTags() {
if (tags != null && tags.eIsProxy()) {
InternalEObject oldTags = (InternalEObject)tags;
tags = (ITag)eResolveProxy(oldTags);
if (tags != oldTags) {
InternalEObject newTags = (InternalEObject)tags;
NotificationChain msgs = oldTags.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - UMLRpyPackage.IPART__TAGS, null, null);
if (newTags.eInternalContainer() == null) {
msgs = newTags.eInverseAdd(this, EOPPOSITE_FEATURE_BASE - UMLRpyPackage.IPART__TAGS, null, msgs);
}
if (msgs != null) msgs.dispatch();
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLRpyPackage.IPART__TAGS, oldTags, tags));
}
}
return tags;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ITag basicGetTags() {
return tags;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetTags(ITag newTags, NotificationChain msgs) {
ITag oldTags = tags;
tags = newTags;
if (eNotificationRequired()) {
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, UMLRpyPackage.IPART__TAGS, oldTags, newTags);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setTags(ITag newTags) {
if (newTags != tags) {
NotificationChain msgs = null;
if (tags != null)
msgs = ((InternalEObject)tags).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - UMLRpyPackage.IPART__TAGS, null, msgs);
if (newTags != null)
msgs = ((InternalEObject)newTags).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - UMLRpyPackage.IPART__TAGS, null, msgs);
msgs = basicSetTags(newTags, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UMLRpyPackage.IPART__TAGS, newTags, newTags));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ICallAction getInitialCallAction() {
if (initialCallAction != null && initialCallAction.eIsProxy()) {
InternalEObject oldInitialCallAction = (InternalEObject)initialCallAction;
initialCallAction = (ICallAction)eResolveProxy(oldInitialCallAction);
if (initialCallAction != oldInitialCallAction) {
InternalEObject newInitialCallAction = (InternalEObject)initialCallAction;
NotificationChain msgs = oldInitialCallAction.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - UMLRpyPackage.IPART__INITIAL_CALL_ACTION, null, null);
if (newInitialCallAction.eInternalContainer() == null) {
msgs = newInitialCallAction.eInverseAdd(this, EOPPOSITE_FEATURE_BASE - UMLRpyPackage.IPART__INITIAL_CALL_ACTION, null, msgs);
}
if (msgs != null) msgs.dispatch();
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLRpyPackage.IPART__INITIAL_CALL_ACTION, oldInitialCallAction, initialCallAction));
}
}
return initialCallAction;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ICallAction basicGetInitialCallAction() {
return initialCallAction;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetInitialCallAction(ICallAction newInitialCallAction, NotificationChain msgs) {
ICallAction oldInitialCallAction = initialCallAction;
initialCallAction = newInitialCallAction;
if (eNotificationRequired()) {
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, UMLRpyPackage.IPART__INITIAL_CALL_ACTION, oldInitialCallAction, newInitialCallAction);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setInitialCallAction(ICallAction newInitialCallAction) {
if (newInitialCallAction != initialCallAction) {
NotificationChain msgs = null;
if (initialCallAction != null)
msgs = ((InternalEObject)initialCallAction).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - UMLRpyPackage.IPART__INITIAL_CALL_ACTION, null, msgs);
if (newInitialCallAction != null)
msgs = ((InternalEObject)newInitialCallAction).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - UMLRpyPackage.IPART__INITIAL_CALL_ACTION, null, msgs);
msgs = basicSetInitialCallAction(newInitialCallAction, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UMLRpyPackage.IPART__INITIAL_CALL_ACTION, newInitialCallAction, newInitialCallAction));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<String> getCodeUpdateCGTime() {
if (codeUpdateCGTime == null) {
codeUpdateCGTime = new EDataTypeEList<String>(String.class, this, UMLRpyPackage.IPART__CODE_UPDATE_CG_TIME);
}
return codeUpdateCGTime;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public DependsOnType getTheMainDiagram() {
if (theMainDiagram != null && theMainDiagram.eIsProxy()) {
InternalEObject oldTheMainDiagram = (InternalEObject)theMainDiagram;
theMainDiagram = (DependsOnType)eResolveProxy(oldTheMainDiagram);
if (theMainDiagram != oldTheMainDiagram) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLRpyPackage.IPART__THE_MAIN_DIAGRAM, oldTheMainDiagram, theMainDiagram));
}
}
return theMainDiagram;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public DependsOnType basicGetTheMainDiagram() {
return theMainDiagram;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setTheMainDiagram(DependsOnType newTheMainDiagram) {
DependsOnType oldTheMainDiagram = theMainDiagram;
theMainDiagram = newTheMainDiagram;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UMLRpyPackage.IPART__THE_MAIN_DIAGRAM, oldTheMainDiagram, theMainDiagram));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ISlot getSlots() {
if (slots != null && slots.eIsProxy()) {
InternalEObject oldSlots = (InternalEObject)slots;
slots = (ISlot)eResolveProxy(oldSlots);
if (slots != oldSlots) {
InternalEObject newSlots = (InternalEObject)slots;
NotificationChain msgs = oldSlots.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - UMLRpyPackage.IPART__SLOTS, null, null);
if (newSlots.eInternalContainer() == null) {
msgs = newSlots.eInverseAdd(this, EOPPOSITE_FEATURE_BASE - UMLRpyPackage.IPART__SLOTS, null, msgs);
}
if (msgs != null) msgs.dispatch();
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLRpyPackage.IPART__SLOTS, oldSlots, slots));
}
}
return slots;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ISlot basicGetSlots() {
return slots;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetSlots(ISlot newSlots, NotificationChain msgs) {
ISlot oldSlots = slots;
slots = newSlots;
if (eNotificationRequired()) {
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, UMLRpyPackage.IPART__SLOTS, oldSlots, newSlots);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setSlots(ISlot newSlots) {
if (newSlots != slots) {
NotificationChain msgs = null;
if (slots != null)
msgs = ((InternalEObject)slots).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - UMLRpyPackage.IPART__SLOTS, null, msgs);
if (newSlots != null)
msgs = ((InternalEObject)newSlots).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - UMLRpyPackage.IPART__SLOTS, null, msgs);
msgs = basicSetSlots(newSlots, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UMLRpyPackage.IPART__SLOTS, newSlots, newSlots));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<IMHyperLink> getHyperLinks() {
if (hyperLinks == null) {
hyperLinks = new EObjectContainmentEList.Resolving<IMHyperLink>(IMHyperLink.class, this, UMLRpyPackage.IPART__HYPER_LINKS);
}
return hyperLinks;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAnnotation getEAnnotation(String source) {
// TODO: implement this method
// Ensure that you remove @generated or mark it @generated NOT
throw new UnsupportedOperationException();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@SuppressWarnings("unchecked")
@Override
public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
case UMLRpyPackage.IPART__EANNOTATIONS:
return ((InternalEList<InternalEObject>)(InternalEList<?>)getEAnnotations()).basicAdd(otherEnd, msgs);
}
return super.eInverseAdd(otherEnd, featureID, msgs);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
case UMLRpyPackage.IPART__DESCRIPTION:
return basicSetDescription(null, msgs);
case UMLRpyPackage.IPART__PROPERTIES:
return basicSetProperties(null, msgs);
case UMLRpyPackage.IPART__IMPLICIT_CLASS:
return basicSetImplicitClass(null, msgs);
case UMLRpyPackage.IPART__EANNOTATIONS:
return ((InternalEList<?>)getEAnnotations()).basicRemove(otherEnd, msgs);
case UMLRpyPackage.IPART__DEPENDENCIES:
return ((InternalEList<?>)getDependencies()).basicRemove(otherEnd, msgs);
case UMLRpyPackage.IPART__TAGS:
return basicSetTags(null, msgs);
case UMLRpyPackage.IPART__INITIAL_CALL_ACTION:
return basicSetInitialCallAction(null, msgs);
case UMLRpyPackage.IPART__SLOTS:
return basicSetSlots(null, msgs);
case UMLRpyPackage.IPART__HYPER_LINKS:
return ((InternalEList<?>)getHyperLinks()).basicRemove(otherEnd, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case UMLRpyPackage.IPART__UML_DEPENDENCY_ID:
return getUmlDependencyID();
case UMLRpyPackage.IPART__OBJECT_CREATION:
return getObjectCreation();
case UMLRpyPackage.IPART__MODIFIED_TIME_WEAK:
return getModifiedTimeWeak();
case UMLRpyPackage.IPART__ID:
return getId();
case UMLRpyPackage.IPART__MY_STATE:
return getMyState();
case UMLRpyPackage.IPART__NAME:
return getName();
case UMLRpyPackage.IPART__REQUIREMEN_TRACABILITY_HANDLE:
return getRequiremenTracabilityHandle();
case UMLRpyPackage.IPART__DESCRIPTION:
if (resolve) return getDescription();
return basicGetDescription();
case UMLRpyPackage.IPART__PROPERTIES:
if (resolve) return getProperties();
return basicGetProperties();
case UMLRpyPackage.IPART__IMPLICIT_CLASS:
if (resolve) return getImplicitClass();
return basicGetImplicitClass();
case UMLRpyPackage.IPART__LAST_ID:
return getLastID();
case UMLRpyPackage.IPART__MULTIPLICITY:
return getMultiplicity();
case UMLRpyPackage.IPART__EANNOTATIONS:
return getEAnnotations();
case UMLRpyPackage.IPART__DISPLAY_NAME:
return getDisplayName();
case UMLRpyPackage.IPART__STEREOTYPES:
if (resolve) return getStereotypes();
return basicGetStereotypes();
case UMLRpyPackage.IPART__OTHER_CLASS:
if (resolve) return getOtherClass();
return basicGetOtherClass();
case UMLRpyPackage.IPART__INVERSE:
if (resolve) return getInverse();
return basicGetInverse();
case UMLRpyPackage.IPART__DEPENDENCIES:
return getDependencies();
case UMLRpyPackage.IPART__TAGS:
if (resolve) return getTags();
return basicGetTags();
case UMLRpyPackage.IPART__INITIAL_CALL_ACTION:
if (resolve) return getInitialCallAction();
return basicGetInitialCallAction();
case UMLRpyPackage.IPART__CODE_UPDATE_CG_TIME:
return getCodeUpdateCGTime();
case UMLRpyPackage.IPART__THE_MAIN_DIAGRAM:
if (resolve) return getTheMainDiagram();
return basicGetTheMainDiagram();
case UMLRpyPackage.IPART__SLOTS:
if (resolve) return getSlots();
return basicGetSlots();
case UMLRpyPackage.IPART__HYPER_LINKS:
return getHyperLinks();
}
return super.eGet(featureID, resolve, coreType);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@SuppressWarnings("unchecked")
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
case UMLRpyPackage.IPART__UML_DEPENDENCY_ID:
setUmlDependencyID((String)newValue);
return;
case UMLRpyPackage.IPART__OBJECT_CREATION:
setObjectCreation((String)newValue);
return;
case UMLRpyPackage.IPART__MODIFIED_TIME_WEAK:
getModifiedTimeWeak().clear();
getModifiedTimeWeak().addAll((Collection<? extends String>)newValue);
return;
case UMLRpyPackage.IPART__ID:
setId((String)newValue);
return;
case UMLRpyPackage.IPART__MY_STATE:
setMyState((String)newValue);
return;
case UMLRpyPackage.IPART__NAME:
setName((String)newValue);
return;
case UMLRpyPackage.IPART__REQUIREMEN_TRACABILITY_HANDLE:
setRequiremenTracabilityHandle((String)newValue);
return;
case UMLRpyPackage.IPART__DESCRIPTION:
setDescription((IDescription)newValue);
return;
case UMLRpyPackage.IPART__PROPERTIES:
setProperties((IPropertyContainer)newValue);
return;
case UMLRpyPackage.IPART__IMPLICIT_CLASS:
setImplicitClass((IClass)newValue);
return;
case UMLRpyPackage.IPART__LAST_ID:
setLastID((String)newValue);
return;
case UMLRpyPackage.IPART__MULTIPLICITY:
setMultiplicity((String)newValue);
return;
case UMLRpyPackage.IPART__EANNOTATIONS:
getEAnnotations().clear();
getEAnnotations().addAll((Collection<? extends EAnnotation>)newValue);
return;
case UMLRpyPackage.IPART__DISPLAY_NAME:
setDisplayName((String)newValue);
return;
case UMLRpyPackage.IPART__STEREOTYPES:
setStereotypes((IUnit)newValue);
return;
case UMLRpyPackage.IPART__OTHER_CLASS:
setOtherClass((IUnit)newValue);
return;
case UMLRpyPackage.IPART__INVERSE:
setInverse((InverseType)newValue);
return;
case UMLRpyPackage.IPART__DEPENDENCIES:
getDependencies().clear();
getDependencies().addAll((Collection<? extends IDependency>)newValue);
return;
case UMLRpyPackage.IPART__TAGS:
setTags((ITag)newValue);
return;
case UMLRpyPackage.IPART__INITIAL_CALL_ACTION:
setInitialCallAction((ICallAction)newValue);
return;
case UMLRpyPackage.IPART__CODE_UPDATE_CG_TIME:
getCodeUpdateCGTime().clear();
getCodeUpdateCGTime().addAll((Collection<? extends String>)newValue);
return;
case UMLRpyPackage.IPART__THE_MAIN_DIAGRAM:
setTheMainDiagram((DependsOnType)newValue);
return;
case UMLRpyPackage.IPART__SLOTS:
setSlots((ISlot)newValue);
return;
case UMLRpyPackage.IPART__HYPER_LINKS:
getHyperLinks().clear();
getHyperLinks().addAll((Collection<? extends IMHyperLink>)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID) {
switch (featureID) {
case UMLRpyPackage.IPART__UML_DEPENDENCY_ID:
setUmlDependencyID(UML_DEPENDENCY_ID_EDEFAULT);
return;
case UMLRpyPackage.IPART__OBJECT_CREATION:
setObjectCreation(OBJECT_CREATION_EDEFAULT);
return;
case UMLRpyPackage.IPART__MODIFIED_TIME_WEAK:
getModifiedTimeWeak().clear();
return;
case UMLRpyPackage.IPART__ID:
setId(ID_EDEFAULT);
return;
case UMLRpyPackage.IPART__MY_STATE:
setMyState(MY_STATE_EDEFAULT);
return;
case UMLRpyPackage.IPART__NAME:
setName(NAME_EDEFAULT);
return;
case UMLRpyPackage.IPART__REQUIREMEN_TRACABILITY_HANDLE:
setRequiremenTracabilityHandle(REQUIREMEN_TRACABILITY_HANDLE_EDEFAULT);
return;
case UMLRpyPackage.IPART__DESCRIPTION:
setDescription((IDescription)null);
return;
case UMLRpyPackage.IPART__PROPERTIES:
setProperties((IPropertyContainer)null);
return;
case UMLRpyPackage.IPART__IMPLICIT_CLASS:
setImplicitClass((IClass)null);
return;
case UMLRpyPackage.IPART__LAST_ID:
setLastID(LAST_ID_EDEFAULT);
return;
case UMLRpyPackage.IPART__MULTIPLICITY:
setMultiplicity(MULTIPLICITY_EDEFAULT);
return;
case UMLRpyPackage.IPART__EANNOTATIONS:
getEAnnotations().clear();
return;
case UMLRpyPackage.IPART__DISPLAY_NAME:
setDisplayName(DISPLAY_NAME_EDEFAULT);
return;
case UMLRpyPackage.IPART__STEREOTYPES:
setStereotypes((IUnit)null);
return;
case UMLRpyPackage.IPART__OTHER_CLASS:
setOtherClass((IUnit)null);
return;
case UMLRpyPackage.IPART__INVERSE:
setInverse((InverseType)null);
return;
case UMLRpyPackage.IPART__DEPENDENCIES:
getDependencies().clear();
return;
case UMLRpyPackage.IPART__TAGS:
setTags((ITag)null);
return;
case UMLRpyPackage.IPART__INITIAL_CALL_ACTION:
setInitialCallAction((ICallAction)null);
return;
case UMLRpyPackage.IPART__CODE_UPDATE_CG_TIME:
getCodeUpdateCGTime().clear();
return;
case UMLRpyPackage.IPART__THE_MAIN_DIAGRAM:
setTheMainDiagram((DependsOnType)null);
return;
case UMLRpyPackage.IPART__SLOTS:
setSlots((ISlot)null);
return;
case UMLRpyPackage.IPART__HYPER_LINKS:
getHyperLinks().clear();
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
case UMLRpyPackage.IPART__UML_DEPENDENCY_ID:
return UML_DEPENDENCY_ID_EDEFAULT == null ? umlDependencyID != null : !UML_DEPENDENCY_ID_EDEFAULT.equals(umlDependencyID);
case UMLRpyPackage.IPART__OBJECT_CREATION:
return OBJECT_CREATION_EDEFAULT == null ? objectCreation != null : !OBJECT_CREATION_EDEFAULT.equals(objectCreation);
case UMLRpyPackage.IPART__MODIFIED_TIME_WEAK:
return modifiedTimeWeak != null && !modifiedTimeWeak.isEmpty();
case UMLRpyPackage.IPART__ID:
return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
case UMLRpyPackage.IPART__MY_STATE:
return MY_STATE_EDEFAULT == null ? myState != null : !MY_STATE_EDEFAULT.equals(myState);
case UMLRpyPackage.IPART__NAME:
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
case UMLRpyPackage.IPART__REQUIREMEN_TRACABILITY_HANDLE:
return REQUIREMEN_TRACABILITY_HANDLE_EDEFAULT == null ? requiremenTracabilityHandle != null : !REQUIREMEN_TRACABILITY_HANDLE_EDEFAULT.equals(requiremenTracabilityHandle);
case UMLRpyPackage.IPART__DESCRIPTION:
return description != null;
case UMLRpyPackage.IPART__PROPERTIES:
return properties != null;
case UMLRpyPackage.IPART__IMPLICIT_CLASS:
return implicitClass != null;
case UMLRpyPackage.IPART__LAST_ID:
return LAST_ID_EDEFAULT == null ? lastID != null : !LAST_ID_EDEFAULT.equals(lastID);
case UMLRpyPackage.IPART__MULTIPLICITY:
return MULTIPLICITY_EDEFAULT == null ? multiplicity != null : !MULTIPLICITY_EDEFAULT.equals(multiplicity);
case UMLRpyPackage.IPART__EANNOTATIONS:
return eAnnotations != null && !eAnnotations.isEmpty();
case UMLRpyPackage.IPART__DISPLAY_NAME:
return DISPLAY_NAME_EDEFAULT == null ? displayName != null : !DISPLAY_NAME_EDEFAULT.equals(displayName);
case UMLRpyPackage.IPART__STEREOTYPES:
return stereotypes != null;
case UMLRpyPackage.IPART__OTHER_CLASS:
return otherClass != null;
case UMLRpyPackage.IPART__INVERSE:
return inverse != null;
case UMLRpyPackage.IPART__DEPENDENCIES:
return dependencies != null && !dependencies.isEmpty();
case UMLRpyPackage.IPART__TAGS:
return tags != null;
case UMLRpyPackage.IPART__INITIAL_CALL_ACTION:
return initialCallAction != null;
case UMLRpyPackage.IPART__CODE_UPDATE_CG_TIME:
return codeUpdateCGTime != null && !codeUpdateCGTime.isEmpty();
case UMLRpyPackage.IPART__THE_MAIN_DIAGRAM:
return theMainDiagram != null;
case UMLRpyPackage.IPART__SLOTS:
return slots != null;
case UMLRpyPackage.IPART__HYPER_LINKS:
return hyperLinks != null && !hyperLinks.isEmpty();
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
if (baseClass == ElementsType.class) {
switch (derivedFeatureID) {
default: return -1;
}
}
if (baseClass == DependsOnType.class) {
switch (derivedFeatureID) {
default: return -1;
}
}
if (baseClass == M_subjectType.class) {
switch (derivedFeatureID) {
case UMLRpyPackage.IPART__UML_DEPENDENCY_ID: return UMLRpyPackage.MSUBJECT_TYPE__UML_DEPENDENCY_ID;
case UMLRpyPackage.IPART__OBJECT_CREATION: return UMLRpyPackage.MSUBJECT_TYPE__OBJECT_CREATION;
default: return -1;
}
}
if (baseClass == ValueType.class) {
switch (derivedFeatureID) {
case UMLRpyPackage.IPART__MODIFIED_TIME_WEAK: return UMLRpyPackage.VALUE_TYPE__MODIFIED_TIME_WEAK;
case UMLRpyPackage.IPART__ID: return UMLRpyPackage.VALUE_TYPE__ID;
case UMLRpyPackage.IPART__MY_STATE: return UMLRpyPackage.VALUE_TYPE__MY_STATE;
case UMLRpyPackage.IPART__NAME: return UMLRpyPackage.VALUE_TYPE__NAME;
default: return -1;
}
}
if (baseClass == M_hTargetType.class) {
switch (derivedFeatureID) {
case UMLRpyPackage.IPART__REQUIREMEN_TRACABILITY_HANDLE: return UMLRpyPackage.MHTARGET_TYPE__REQUIREMEN_TRACABILITY_HANDLE;
case UMLRpyPackage.IPART__DESCRIPTION: return UMLRpyPackage.MHTARGET_TYPE__DESCRIPTION;
case UMLRpyPackage.IPART__PROPERTIES: return UMLRpyPackage.MHTARGET_TYPE__PROPERTIES;
default: return -1;
}
}
if (baseClass == M_pModelObjectType.class) {
switch (derivedFeatureID) {
default: return -1;
}
}
if (baseClass == FromLinkType.class) {
switch (derivedFeatureID) {
default: return -1;
}
}
if (baseClass == ToLinkType.class) {
switch (derivedFeatureID) {
case UMLRpyPackage.IPART__IMPLICIT_CLASS: return UMLRpyPackage.TO_LINK_TYPE__IMPLICIT_CLASS;
default: return -1;
}
}
if (baseClass == ConveyedType.class) {
switch (derivedFeatureID) {
case UMLRpyPackage.IPART__LAST_ID: return UMLRpyPackage.CONVEYED_TYPE__LAST_ID;
default: return -1;
}
}
if (baseClass == End1_Type.class) {
switch (derivedFeatureID) {
default: return -1;
}
}
if (baseClass == End2_Type.class) {
switch (derivedFeatureID) {
case UMLRpyPackage.IPART__MULTIPLICITY: return UMLRpyPackage.END2_TYPE__MULTIPLICITY;
default: return -1;
}
}
if (baseClass == TargetType.class) {
switch (derivedFeatureID) {
default: return -1;
}
}
if (baseClass == EModelElement.class) {
switch (derivedFeatureID) {
case UMLRpyPackage.IPART__EANNOTATIONS: return EcorePackage.EMODEL_ELEMENT__EANNOTATIONS;
default: return -1;
}
}
if (baseClass == IModelElement.class) {
switch (derivedFeatureID) {
case UMLRpyPackage.IPART__DISPLAY_NAME: return UMLRpyPackage.IMODEL_ELEMENT__DISPLAY_NAME;
default: return -1;
}
}
return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
if (baseClass == ElementsType.class) {
switch (baseFeatureID) {
default: return -1;
}
}
if (baseClass == DependsOnType.class) {
switch (baseFeatureID) {
default: return -1;
}
}
if (baseClass == M_subjectType.class) {
switch (baseFeatureID) {
case UMLRpyPackage.MSUBJECT_TYPE__UML_DEPENDENCY_ID: return UMLRpyPackage.IPART__UML_DEPENDENCY_ID;
case UMLRpyPackage.MSUBJECT_TYPE__OBJECT_CREATION: return UMLRpyPackage.IPART__OBJECT_CREATION;
default: return -1;
}
}
if (baseClass == ValueType.class) {
switch (baseFeatureID) {
case UMLRpyPackage.VALUE_TYPE__MODIFIED_TIME_WEAK: return UMLRpyPackage.IPART__MODIFIED_TIME_WEAK;
case UMLRpyPackage.VALUE_TYPE__ID: return UMLRpyPackage.IPART__ID;
case UMLRpyPackage.VALUE_TYPE__MY_STATE: return UMLRpyPackage.IPART__MY_STATE;
case UMLRpyPackage.VALUE_TYPE__NAME: return UMLRpyPackage.IPART__NAME;
default: return -1;
}
}
if (baseClass == M_hTargetType.class) {
switch (baseFeatureID) {
case UMLRpyPackage.MHTARGET_TYPE__REQUIREMEN_TRACABILITY_HANDLE: return UMLRpyPackage.IPART__REQUIREMEN_TRACABILITY_HANDLE;
case UMLRpyPackage.MHTARGET_TYPE__DESCRIPTION: return UMLRpyPackage.IPART__DESCRIPTION;
case UMLRpyPackage.MHTARGET_TYPE__PROPERTIES: return UMLRpyPackage.IPART__PROPERTIES;
default: return -1;
}
}
if (baseClass == M_pModelObjectType.class) {
switch (baseFeatureID) {
default: return -1;
}
}
if (baseClass == FromLinkType.class) {
switch (baseFeatureID) {
default: return -1;
}
}
if (baseClass == ToLinkType.class) {
switch (baseFeatureID) {
case UMLRpyPackage.TO_LINK_TYPE__IMPLICIT_CLASS: return UMLRpyPackage.IPART__IMPLICIT_CLASS;
default: return -1;
}
}
if (baseClass == ConveyedType.class) {
switch (baseFeatureID) {
case UMLRpyPackage.CONVEYED_TYPE__LAST_ID: return UMLRpyPackage.IPART__LAST_ID;
default: return -1;
}
}
if (baseClass == End1_Type.class) {
switch (baseFeatureID) {
default: return -1;
}
}
if (baseClass == End2_Type.class) {
switch (baseFeatureID) {
case UMLRpyPackage.END2_TYPE__MULTIPLICITY: return UMLRpyPackage.IPART__MULTIPLICITY;
default: return -1;
}
}
if (baseClass == TargetType.class) {
switch (baseFeatureID) {
default: return -1;
}
}
if (baseClass == EModelElement.class) {
switch (baseFeatureID) {
case EcorePackage.EMODEL_ELEMENT__EANNOTATIONS: return UMLRpyPackage.IPART__EANNOTATIONS;
default: return -1;
}
}
if (baseClass == IModelElement.class) {
switch (baseFeatureID) {
case UMLRpyPackage.IMODEL_ELEMENT__DISPLAY_NAME: return UMLRpyPackage.IPART__DISPLAY_NAME;
default: return -1;
}
}
return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
if (baseClass == ElementsType.class) {
switch (baseOperationID) {
default: return -1;
}
}
if (baseClass == DependsOnType.class) {
switch (baseOperationID) {
default: return -1;
}
}
if (baseClass == M_subjectType.class) {
switch (baseOperationID) {
default: return -1;
}
}
if (baseClass == ValueType.class) {
switch (baseOperationID) {
default: return -1;
}
}
if (baseClass == M_hTargetType.class) {
switch (baseOperationID) {
default: return -1;
}
}
if (baseClass == M_pModelObjectType.class) {
switch (baseOperationID) {
default: return -1;
}
}
if (baseClass == FromLinkType.class) {
switch (baseOperationID) {
default: return -1;
}
}
if (baseClass == ToLinkType.class) {
switch (baseOperationID) {
default: return -1;
}
}
if (baseClass == ConveyedType.class) {
switch (baseOperationID) {
default: return -1;
}
}
if (baseClass == End1_Type.class) {
switch (baseOperationID) {
default: return -1;
}
}
if (baseClass == End2_Type.class) {
switch (baseOperationID) {
default: return -1;
}
}
if (baseClass == TargetType.class) {
switch (baseOperationID) {
default: return -1;
}
}
if (baseClass == EModelElement.class) {
switch (baseOperationID) {
case EcorePackage.EMODEL_ELEMENT___GET_EANNOTATION__STRING: return UMLRpyPackage.IPART___GET_EANNOTATION__STRING;
default: return -1;
}
}
if (baseClass == IModelElement.class) {
switch (baseOperationID) {
default: return -1;
}
}
return super.eDerivedOperationID(baseOperationID, baseClass);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
switch (operationID) {
case UMLRpyPackage.IPART___GET_EANNOTATION__STRING:
return getEAnnotation((String)arguments.get(0));
}
return super.eInvoke(operationID, arguments);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString() {
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
result.append(" (umlDependencyID: "); //$NON-NLS-1$
result.append(umlDependencyID);
result.append(", objectCreation: "); //$NON-NLS-1$
result.append(objectCreation);
result.append(", modifiedTimeWeak: "); //$NON-NLS-1$
result.append(modifiedTimeWeak);
result.append(", id: "); //$NON-NLS-1$
result.append(id);
result.append(", myState: "); //$NON-NLS-1$
result.append(myState);
result.append(", name: "); //$NON-NLS-1$
result.append(name);
result.append(", requiremenTracabilityHandle: "); //$NON-NLS-1$
result.append(requiremenTracabilityHandle);
result.append(", lastID: "); //$NON-NLS-1$
result.append(lastID);
result.append(", multiplicity: "); //$NON-NLS-1$
result.append(multiplicity);
result.append(", displayName: "); //$NON-NLS-1$
result.append(displayName);
result.append(", codeUpdateCGTime: "); //$NON-NLS-1$
result.append(codeUpdateCGTime);
result.append(')');
return result.toString();
}
} //IPartImpl