blob: 59a0c9ab32e1ccb43cdeccf6149fa564e56f8321 [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.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.EClass;
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.EObjectResolvingEList;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.CGIMscColumnCR;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.CGIMscConditionMark;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.IMessage;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.IPropertyContainer;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.UMLRpyPackage;
import org.eclipse.papyrus.interoperability.rpy.rpymetamodel.UnknownType;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>CGI Msc Condition Mark</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.CGIMscConditionMarkImpl#getProperties <em>Properties</em>}</li>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.CGIMscConditionMarkImpl#getM_pModelObject <em>MpModel Object</em>}</li>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.CGIMscConditionMarkImpl#getM_pParent <em>MpParent</em>}</li>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.CGIMscConditionMarkImpl#getM_transform <em>Mtransform</em>}</li>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.CGIMscConditionMarkImpl#getM_polygon <em>Mpolygon</em>}</li>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.CGIMscConditionMarkImpl#getM_nNameFormat <em>MnName Format</em>}</li>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.CGIMscConditionMarkImpl#getM_nIsNameFormat <em>MnIs Name Format</em>}</li>
* <li>{@link org.eclipse.papyrus.interoperability.rpy.rpymetamodel.impl.CGIMscConditionMarkImpl#getCompartments <em>Compartments</em>}</li>
* </ul>
*
* @generated
*/
public class CGIMscConditionMarkImpl extends GraphElementsTypeImpl implements CGIMscConditionMark {
/**
* 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 #getM_pModelObject() <em>MpModel Object</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getM_pModelObject()
* @generated
* @ordered
*/
protected IMessage m_pModelObject;
/**
* The cached value of the '{@link #getM_pParent() <em>MpParent</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getM_pParent()
* @generated
* @ordered
*/
protected CGIMscColumnCR m_pParent;
/**
* The cached value of the '{@link #getM_transform() <em>Mtransform</em>}' attribute list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getM_transform()
* @generated
* @ordered
*/
protected EList<String> m_transform;
/**
* The cached value of the '{@link #getM_polygon() <em>Mpolygon</em>}' attribute list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getM_polygon()
* @generated
* @ordered
*/
protected EList<String> m_polygon;
/**
* The default value of the '{@link #getM_nNameFormat() <em>MnName Format</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getM_nNameFormat()
* @generated
* @ordered
*/
protected static final String MNNAME_FORMAT_EDEFAULT = null;
/**
* The cached value of the '{@link #getM_nNameFormat() <em>MnName Format</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getM_nNameFormat()
* @generated
* @ordered
*/
protected String m_nNameFormat = MNNAME_FORMAT_EDEFAULT;
/**
* The default value of the '{@link #getM_nIsNameFormat() <em>MnIs Name Format</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getM_nIsNameFormat()
* @generated
* @ordered
*/
protected static final String MNIS_NAME_FORMAT_EDEFAULT = null;
/**
* The cached value of the '{@link #getM_nIsNameFormat() <em>MnIs Name Format</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getM_nIsNameFormat()
* @generated
* @ordered
*/
protected String m_nIsNameFormat = MNIS_NAME_FORMAT_EDEFAULT;
/**
* The cached value of the '{@link #getCompartments() <em>Compartments</em>}' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getCompartments()
* @generated
* @ordered
*/
protected EList<UnknownType> compartments;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected CGIMscConditionMarkImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass() {
return UMLRpyPackage.eINSTANCE.getCGIMscConditionMark();
}
/**
* <!-- 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.CGI_MSC_CONDITION_MARK__PROPERTIES, null, null);
if (newProperties.eInternalContainer() == null) {
msgs = newProperties.eInverseAdd(this, EOPPOSITE_FEATURE_BASE - UMLRpyPackage.CGI_MSC_CONDITION_MARK__PROPERTIES, null, msgs);
}
if (msgs != null) msgs.dispatch();
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLRpyPackage.CGI_MSC_CONDITION_MARK__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.CGI_MSC_CONDITION_MARK__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.CGI_MSC_CONDITION_MARK__PROPERTIES, null, msgs);
if (newProperties != null)
msgs = ((InternalEObject)newProperties).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - UMLRpyPackage.CGI_MSC_CONDITION_MARK__PROPERTIES, null, msgs);
msgs = basicSetProperties(newProperties, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UMLRpyPackage.CGI_MSC_CONDITION_MARK__PROPERTIES, newProperties, newProperties));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public IMessage getM_pModelObject() {
if (m_pModelObject != null && m_pModelObject.eIsProxy()) {
InternalEObject oldM_pModelObject = (InternalEObject)m_pModelObject;
m_pModelObject = (IMessage)eResolveProxy(oldM_pModelObject);
if (m_pModelObject != oldM_pModelObject) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLRpyPackage.CGI_MSC_CONDITION_MARK__MPMODEL_OBJECT, oldM_pModelObject, m_pModelObject));
}
}
return m_pModelObject;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public IMessage basicGetM_pModelObject() {
return m_pModelObject;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setM_pModelObject(IMessage newM_pModelObject) {
IMessage oldM_pModelObject = m_pModelObject;
m_pModelObject = newM_pModelObject;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UMLRpyPackage.CGI_MSC_CONDITION_MARK__MPMODEL_OBJECT, oldM_pModelObject, m_pModelObject));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public CGIMscColumnCR getM_pParent() {
if (m_pParent != null && m_pParent.eIsProxy()) {
InternalEObject oldM_pParent = (InternalEObject)m_pParent;
m_pParent = (CGIMscColumnCR)eResolveProxy(oldM_pParent);
if (m_pParent != oldM_pParent) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLRpyPackage.CGI_MSC_CONDITION_MARK__MPPARENT, oldM_pParent, m_pParent));
}
}
return m_pParent;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public CGIMscColumnCR basicGetM_pParent() {
return m_pParent;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setM_pParent(CGIMscColumnCR newM_pParent) {
CGIMscColumnCR oldM_pParent = m_pParent;
m_pParent = newM_pParent;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UMLRpyPackage.CGI_MSC_CONDITION_MARK__MPPARENT, oldM_pParent, m_pParent));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<String> getM_transform() {
if (m_transform == null) {
m_transform = new EDataTypeEList<String>(String.class, this, UMLRpyPackage.CGI_MSC_CONDITION_MARK__MTRANSFORM);
}
return m_transform;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<String> getM_polygon() {
if (m_polygon == null) {
m_polygon = new EDataTypeEList<String>(String.class, this, UMLRpyPackage.CGI_MSC_CONDITION_MARK__MPOLYGON);
}
return m_polygon;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getM_nNameFormat() {
return m_nNameFormat;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setM_nNameFormat(String newM_nNameFormat) {
String oldM_nNameFormat = m_nNameFormat;
m_nNameFormat = newM_nNameFormat;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UMLRpyPackage.CGI_MSC_CONDITION_MARK__MNNAME_FORMAT, oldM_nNameFormat, m_nNameFormat));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getM_nIsNameFormat() {
return m_nIsNameFormat;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setM_nIsNameFormat(String newM_nIsNameFormat) {
String oldM_nIsNameFormat = m_nIsNameFormat;
m_nIsNameFormat = newM_nIsNameFormat;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UMLRpyPackage.CGI_MSC_CONDITION_MARK__MNIS_NAME_FORMAT, oldM_nIsNameFormat, m_nIsNameFormat));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<UnknownType> getCompartments() {
if (compartments == null) {
compartments = new EObjectResolvingEList<UnknownType>(UnknownType.class, this, UMLRpyPackage.CGI_MSC_CONDITION_MARK__COMPARTMENTS);
}
return compartments;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__PROPERTIES:
return basicSetProperties(null, 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.CGI_MSC_CONDITION_MARK__PROPERTIES:
if (resolve) return getProperties();
return basicGetProperties();
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__MPMODEL_OBJECT:
if (resolve) return getM_pModelObject();
return basicGetM_pModelObject();
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__MPPARENT:
if (resolve) return getM_pParent();
return basicGetM_pParent();
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__MTRANSFORM:
return getM_transform();
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__MPOLYGON:
return getM_polygon();
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__MNNAME_FORMAT:
return getM_nNameFormat();
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__MNIS_NAME_FORMAT:
return getM_nIsNameFormat();
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__COMPARTMENTS:
return getCompartments();
}
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.CGI_MSC_CONDITION_MARK__PROPERTIES:
setProperties((IPropertyContainer)newValue);
return;
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__MPMODEL_OBJECT:
setM_pModelObject((IMessage)newValue);
return;
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__MPPARENT:
setM_pParent((CGIMscColumnCR)newValue);
return;
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__MTRANSFORM:
getM_transform().clear();
getM_transform().addAll((Collection<? extends String>)newValue);
return;
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__MPOLYGON:
getM_polygon().clear();
getM_polygon().addAll((Collection<? extends String>)newValue);
return;
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__MNNAME_FORMAT:
setM_nNameFormat((String)newValue);
return;
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__MNIS_NAME_FORMAT:
setM_nIsNameFormat((String)newValue);
return;
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__COMPARTMENTS:
getCompartments().clear();
getCompartments().addAll((Collection<? extends UnknownType>)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID) {
switch (featureID) {
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__PROPERTIES:
setProperties((IPropertyContainer)null);
return;
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__MPMODEL_OBJECT:
setM_pModelObject((IMessage)null);
return;
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__MPPARENT:
setM_pParent((CGIMscColumnCR)null);
return;
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__MTRANSFORM:
getM_transform().clear();
return;
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__MPOLYGON:
getM_polygon().clear();
return;
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__MNNAME_FORMAT:
setM_nNameFormat(MNNAME_FORMAT_EDEFAULT);
return;
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__MNIS_NAME_FORMAT:
setM_nIsNameFormat(MNIS_NAME_FORMAT_EDEFAULT);
return;
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__COMPARTMENTS:
getCompartments().clear();
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__PROPERTIES:
return properties != null;
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__MPMODEL_OBJECT:
return m_pModelObject != null;
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__MPPARENT:
return m_pParent != null;
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__MTRANSFORM:
return m_transform != null && !m_transform.isEmpty();
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__MPOLYGON:
return m_polygon != null && !m_polygon.isEmpty();
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__MNNAME_FORMAT:
return MNNAME_FORMAT_EDEFAULT == null ? m_nNameFormat != null : !MNNAME_FORMAT_EDEFAULT.equals(m_nNameFormat);
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__MNIS_NAME_FORMAT:
return MNIS_NAME_FORMAT_EDEFAULT == null ? m_nIsNameFormat != null : !MNIS_NAME_FORMAT_EDEFAULT.equals(m_nIsNameFormat);
case UMLRpyPackage.CGI_MSC_CONDITION_MARK__COMPARTMENTS:
return compartments != null && !compartments.isEmpty();
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString() {
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
result.append(" (m_transform: "); //$NON-NLS-1$
result.append(m_transform);
result.append(", m_polygon: "); //$NON-NLS-1$
result.append(m_polygon);
result.append(", m_nNameFormat: "); //$NON-NLS-1$
result.append(m_nNameFormat);
result.append(", m_nIsNameFormat: "); //$NON-NLS-1$
result.append(m_nIsNameFormat);
result.append(')');
return result.toString();
}
} //CGIMscConditionMarkImpl