diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/CompoundSetupTaskImpl.java')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/CompoundSetupTaskImpl.java | 306 |
1 files changed, 306 insertions, 0 deletions
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/CompoundSetupTaskImpl.java b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/CompoundSetupTaskImpl.java new file mode 100644 index 0000000000..20256976ce --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/CompoundSetupTaskImpl.java @@ -0,0 +1,306 @@ +/** + */ +package org.eclipse.emf.cdo.releng.setup.impl; + +import org.eclipse.emf.cdo.releng.setup.CompoundSetupTask; +import org.eclipse.emf.cdo.releng.setup.SetupPackage; +import org.eclipse.emf.cdo.releng.setup.SetupTask; +import org.eclipse.emf.cdo.releng.setup.SetupTaskContainer; +import org.eclipse.emf.cdo.releng.setup.SetupTaskContext; + +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; + +import java.util.Collection; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Compound Setup Task</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.cdo.releng.setup.impl.CompoundSetupTaskImpl#getSetupTasks <em>Setup Tasks</em>}</li> + * <li>{@link org.eclipse.emf.cdo.releng.setup.impl.CompoundSetupTaskImpl#getName <em>Name</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class CompoundSetupTaskImpl extends SetupTaskImpl implements CompoundSetupTask +{ + /** + * The cached value of the '{@link #getSetupTasks() <em>Setup Tasks</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSetupTasks() + * @generated + * @ordered + */ + protected EList<SetupTask> setupTasks; + + /** + * 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; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected CompoundSetupTaskImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SetupPackage.Literals.COMPOUND_SETUP_TASK; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<SetupTask> getSetupTasks() + { + if (setupTasks == null) + { + setupTasks = new EObjectContainmentEList.Resolving<SetupTask>(SetupTask.class, this, + SetupPackage.COMPOUND_SETUP_TASK__SETUP_TASKS); + } + return setupTasks; + } + + /** + * <!-- 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, SetupPackage.COMPOUND_SETUP_TASK__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case SetupPackage.COMPOUND_SETUP_TASK__SETUP_TASKS: + return ((InternalEList<?>)getSetupTasks()).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 SetupPackage.COMPOUND_SETUP_TASK__SETUP_TASKS: + return getSetupTasks(); + case SetupPackage.COMPOUND_SETUP_TASK__NAME: + return getName(); + } + 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 SetupPackage.COMPOUND_SETUP_TASK__SETUP_TASKS: + getSetupTasks().clear(); + getSetupTasks().addAll((Collection<? extends SetupTask>)newValue); + return; + case SetupPackage.COMPOUND_SETUP_TASK__NAME: + setName((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SetupPackage.COMPOUND_SETUP_TASK__SETUP_TASKS: + getSetupTasks().clear(); + return; + case SetupPackage.COMPOUND_SETUP_TASK__NAME: + setName(NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SetupPackage.COMPOUND_SETUP_TASK__SETUP_TASKS: + return setupTasks != null && !setupTasks.isEmpty(); + case SetupPackage.COMPOUND_SETUP_TASK__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) + { + if (baseClass == SetupTaskContainer.class) + { + switch (derivedFeatureID) + { + case SetupPackage.COMPOUND_SETUP_TASK__SETUP_TASKS: + return SetupPackage.SETUP_TASK_CONTAINER__SETUP_TASKS; + 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 == SetupTaskContainer.class) + { + switch (baseFeatureID) + { + case SetupPackage.SETUP_TASK_CONTAINER__SETUP_TASKS: + return SetupPackage.COMPOUND_SETUP_TASK__SETUP_TASKS; + default: + return -1; + } + } + return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) + return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + + @Override + public Object getOverrideToken() + { + return createToken(getName()); + } + + public boolean isNeeded(SetupTaskContext context) throws Exception + { + boolean needed = false; + for (SetupTask setupTask : getSetupTasks()) + { + needed |= setupTask.isNeeded(context); + } + + return needed; + } + + public void perform(SetupTaskContext context) throws Exception + { + for (SetupTask setupTask : getSetupTasks()) + { + setupTask.perform(context); + } + } + +} // CompoundSetupTaskImpl |