/** * <copyright> * </copyright> * * $Id$ */ package org.eclipse.amalgam.tutorials.emf.droid.impl; import java.util.Collection; import org.eclipse.amalgam.tutorials.emf.droid.Action; import org.eclipse.amalgam.tutorials.emf.droid.DroidPackage; import org.eclipse.amalgam.tutorials.emf.droid.Layout; import org.eclipse.amalgam.tutorials.emf.droid.ListActivity; 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.EObjectContainmentEList; import org.eclipse.emf.ecore.util.InternalEList; /** * <!-- begin-user-doc --> * An implementation of the model object '<em><b>List Activity</b></em>'. * <!-- end-user-doc --> * <p> * The following features are implemented: * <ul> * <li>{@link org.eclipse.amalgam.tutorials.emf.droid.impl.ListActivityImpl#getDataSource <em>Data Source</em>}</li> * <li>{@link org.eclipse.amalgam.tutorials.emf.droid.impl.ListActivityImpl#getItemLayout <em>Item Layout</em>}</li> * <li>{@link org.eclipse.amalgam.tutorials.emf.droid.impl.ListActivityImpl#getActions <em>Actions</em>}</li> * </ul> * </p> * * @generated */ public class ListActivityImpl extends ActivityImpl implements ListActivity { /** * The default value of the '{@link #getDataSource() <em>Data Source</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getDataSource() * @generated * @ordered */ protected static final String DATA_SOURCE_EDEFAULT = null; /** * The cached value of the '{@link #getDataSource() <em>Data Source</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getDataSource() * @generated * @ordered */ protected String dataSource = DATA_SOURCE_EDEFAULT; /** * The cached value of the '{@link #getItemLayout() <em>Item Layout</em>}' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getItemLayout() * @generated * @ordered */ protected Layout itemLayout; /** * The cached value of the '{@link #getActions() <em>Actions</em>}' containment reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getActions() * @generated * @ordered */ protected EList<Action> actions; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected ListActivityImpl() { super(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override protected EClass eStaticClass() { return DroidPackage.eINSTANCE.getListActivity(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getDataSource() { return dataSource; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setDataSource(String newDataSource) { String oldDataSource = dataSource; dataSource = newDataSource; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, DroidPackage.LIST_ACTIVITY__DATA_SOURCE, oldDataSource, dataSource)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Layout getItemLayout() { if (itemLayout != null && itemLayout.eIsProxy()) { InternalEObject oldItemLayout = (InternalEObject)itemLayout; itemLayout = (Layout)eResolveProxy(oldItemLayout); if (itemLayout != oldItemLayout) { if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.RESOLVE, DroidPackage.LIST_ACTIVITY__ITEM_LAYOUT, oldItemLayout, itemLayout)); } } return itemLayout; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Layout basicGetItemLayout() { return itemLayout; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setItemLayout(Layout newItemLayout) { Layout oldItemLayout = itemLayout; itemLayout = newItemLayout; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, DroidPackage.LIST_ACTIVITY__ITEM_LAYOUT, oldItemLayout, itemLayout)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EList<Action> getActions() { if (actions == null) { actions = new EObjectContainmentEList<Action>(Action.class, this, DroidPackage.LIST_ACTIVITY__ACTIONS); } return actions; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { switch (featureID) { case DroidPackage.LIST_ACTIVITY__ACTIONS: return ((InternalEList<?>)getActions()).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 DroidPackage.LIST_ACTIVITY__DATA_SOURCE: return getDataSource(); case DroidPackage.LIST_ACTIVITY__ITEM_LAYOUT: if (resolve) return getItemLayout(); return basicGetItemLayout(); case DroidPackage.LIST_ACTIVITY__ACTIONS: return getActions(); } 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 DroidPackage.LIST_ACTIVITY__DATA_SOURCE: setDataSource((String)newValue); return; case DroidPackage.LIST_ACTIVITY__ITEM_LAYOUT: setItemLayout((Layout)newValue); return; case DroidPackage.LIST_ACTIVITY__ACTIONS: getActions().clear(); getActions().addAll((Collection<? extends Action>)newValue); return; } super.eSet(featureID, newValue); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public void eUnset(int featureID) { switch (featureID) { case DroidPackage.LIST_ACTIVITY__DATA_SOURCE: setDataSource(DATA_SOURCE_EDEFAULT); return; case DroidPackage.LIST_ACTIVITY__ITEM_LAYOUT: setItemLayout((Layout)null); return; case DroidPackage.LIST_ACTIVITY__ACTIONS: getActions().clear(); return; } super.eUnset(featureID); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public boolean eIsSet(int featureID) { switch (featureID) { case DroidPackage.LIST_ACTIVITY__DATA_SOURCE: return DATA_SOURCE_EDEFAULT == null ? dataSource != null : !DATA_SOURCE_EDEFAULT.equals(dataSource); case DroidPackage.LIST_ACTIVITY__ITEM_LAYOUT: return itemLayout != null; case DroidPackage.LIST_ACTIVITY__ACTIONS: return actions != null && !actions.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(" (dataSource: "); result.append(dataSource); result.append(')'); return result.toString(); } } //ListActivityImpl