blob: 5c1bea6d67ef70606788ae613ab3b7db2ae9a196 [file] [log] [blame]
/**
* Copyright (c) 2008, 2015 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* IBM Corporation - initial API and implementation
*/
package org.eclipse.e4.ui.model.application.ui.menu.impl;
import java.util.List;
import org.eclipse.e4.ui.model.application.ui.MUIElement;
import org.eclipse.e4.ui.model.application.ui.basic.MTrimElement;
import org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl;
import org.eclipse.e4.ui.model.application.ui.impl.UiPackageImpl;
import org.eclipse.e4.ui.model.application.ui.menu.MTrimContribution;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Trim Contribution</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link org.eclipse.e4.ui.model.application.ui.menu.impl.TrimContributionImpl#getParentId <em>Parent Id</em>}</li>
* <li>{@link org.eclipse.e4.ui.model.application.ui.menu.impl.TrimContributionImpl#getPositionInParent <em>Position In Parent</em>}</li>
* </ul>
*
* @since 1.0
* @noreference See {@link MTrimContribution model documentation} for details.
* @generated
*/
public class TrimContributionImpl extends ElementContainerImpl<MTrimElement> implements MTrimContribution {
/**
* The default value of the '{@link #getParentId() <em>Parent Id</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getParentId()
* @generated
* @ordered
*/
protected static final String PARENT_ID_EDEFAULT = null;
/**
* The cached value of the '{@link #getParentId() <em>Parent Id</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getParentId()
* @generated
* @ordered
*/
protected String parentId = PARENT_ID_EDEFAULT;
/**
* The default value of the '{@link #getPositionInParent() <em>Position In Parent</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getPositionInParent()
* @generated
* @ordered
*/
protected static final String POSITION_IN_PARENT_EDEFAULT = null;
/**
* The cached value of the '{@link #getPositionInParent() <em>Position In Parent</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getPositionInParent()
* @generated
* @ordered
*/
protected String positionInParent = POSITION_IN_PARENT_EDEFAULT;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected TrimContributionImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass() {
return MenuPackageImpl.Literals.TRIM_CONTRIBUTION;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* This is specialized for the more specific element type known in this context.
* @generated
*/
@Override
public List<MTrimElement> getChildren() {
if (children == null) {
children = new EObjectContainmentWithInverseEList<MTrimElement>(MTrimElement.class, this,
MenuPackageImpl.TRIM_CONTRIBUTION__CHILDREN, UiPackageImpl.UI_ELEMENT__PARENT) {
private static final long serialVersionUID = 1L;
@Override
public Class<?> getInverseFeatureClass() {
return MUIElement.class;
}
};
}
return children;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* This is specialized for the more specific type known in this context.
* @generated
*/
@Override
public void setSelectedElement(MTrimElement newSelectedElement) {
super.setSelectedElement(newSelectedElement);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getParentId() {
return parentId;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void setParentId(String newParentId) {
String oldParentId = parentId;
parentId = newParentId;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, MenuPackageImpl.TRIM_CONTRIBUTION__PARENT_ID,
oldParentId, parentId));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getPositionInParent() {
return positionInParent;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void setPositionInParent(String newPositionInParent) {
String oldPositionInParent = positionInParent;
positionInParent = newPositionInParent;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, MenuPackageImpl.TRIM_CONTRIBUTION__POSITION_IN_PARENT,
oldPositionInParent, positionInParent));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case MenuPackageImpl.TRIM_CONTRIBUTION__PARENT_ID:
return getParentId();
case MenuPackageImpl.TRIM_CONTRIBUTION__POSITION_IN_PARENT:
return getPositionInParent();
default:
return super.eGet(featureID, resolve, coreType);
}
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
case MenuPackageImpl.TRIM_CONTRIBUTION__PARENT_ID:
setParentId((String) newValue);
return;
case MenuPackageImpl.TRIM_CONTRIBUTION__POSITION_IN_PARENT:
setPositionInParent((String) newValue);
return;
default:
super.eSet(featureID, newValue);
return;
}
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID) {
switch (featureID) {
case MenuPackageImpl.TRIM_CONTRIBUTION__PARENT_ID:
setParentId(PARENT_ID_EDEFAULT);
return;
case MenuPackageImpl.TRIM_CONTRIBUTION__POSITION_IN_PARENT:
setPositionInParent(POSITION_IN_PARENT_EDEFAULT);
return;
default:
super.eUnset(featureID);
return;
}
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
case MenuPackageImpl.TRIM_CONTRIBUTION__PARENT_ID:
return PARENT_ID_EDEFAULT == null ? parentId != null : !PARENT_ID_EDEFAULT.equals(parentId);
case MenuPackageImpl.TRIM_CONTRIBUTION__POSITION_IN_PARENT:
return POSITION_IN_PARENT_EDEFAULT == null ? positionInParent != null
: !POSITION_IN_PARENT_EDEFAULT.equals(positionInParent);
default:
return super.eIsSet(featureID);
}
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString() {
if (eIsProxy())
return super.toString();
StringBuilder result = new StringBuilder(super.toString());
result.append(" (parentId: "); //$NON-NLS-1$
result.append(parentId);
result.append(", positionInParent: "); //$NON-NLS-1$
result.append(positionInParent);
result.append(')');
return result.toString();
}
} //TrimContributionImpl