blob: 94a6959bb4d6fffb35ba50b5910b514e19fdfb22 [file] [log] [blame]
//------------------------------------------------------------------------------
// Copyright (c) 2005, 2006 IBM Corporation 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:
// IBM Corporation - initial implementation
//------------------------------------------------------------------------------
package org.eclipse.epf.uma.impl;
import java.util.Collection;
import java.util.List;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.util.EObjectResolvingEList;
import org.eclipse.epf.uma.Descriptor;
import org.eclipse.epf.uma.Guidance;
import org.eclipse.epf.uma.Role;
import org.eclipse.epf.uma.RoleDescriptor;
import org.eclipse.epf.uma.Section;
import org.eclipse.epf.uma.Task;
import org.eclipse.epf.uma.TaskDescriptor;
import org.eclipse.epf.uma.UmaPackage;
import org.eclipse.epf.uma.WorkProduct;
import org.eclipse.epf.uma.WorkProductDescriptor;
import org.eclipse.epf.uma.ecore.util.DefaultValueManager;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Task Descriptor</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* <ul>
* <li>{@link org.eclipse.epf.uma.impl.TaskDescriptorImpl#getIsSynchronizedWithSource <em>Is Synchronized With Source</em>}</li>
* <li>{@link org.eclipse.epf.uma.impl.TaskDescriptorImpl#getGuidanceExclude <em>Guidance Exclude</em>}</li>
* <li>{@link org.eclipse.epf.uma.impl.TaskDescriptorImpl#getGuidanceAdditional <em>Guidance Additional</em>}</li>
* <li>{@link org.eclipse.epf.uma.impl.TaskDescriptorImpl#getTask <em>Task</em>}</li>
* <li>{@link org.eclipse.epf.uma.impl.TaskDescriptorImpl#getAdditionallyPerformedBy <em>Additionally Performed By</em>}</li>
* <li>{@link org.eclipse.epf.uma.impl.TaskDescriptorImpl#getAssistedBy <em>Assisted By</em>}</li>
* <li>{@link org.eclipse.epf.uma.impl.TaskDescriptorImpl#getExternalInput <em>External Input</em>}</li>
* <li>{@link org.eclipse.epf.uma.impl.TaskDescriptorImpl#getMandatoryInput <em>Mandatory Input</em>}</li>
* <li>{@link org.eclipse.epf.uma.impl.TaskDescriptorImpl#getOptionalInput <em>Optional Input</em>}</li>
* <li>{@link org.eclipse.epf.uma.impl.TaskDescriptorImpl#getOutput <em>Output</em>}</li>
* <li>{@link org.eclipse.epf.uma.impl.TaskDescriptorImpl#getPerformedPrimarilyBy <em>Performed Primarily By</em>}</li>
* <li>{@link org.eclipse.epf.uma.impl.TaskDescriptorImpl#getSelectedSteps <em>Selected Steps</em>}</li>
* <li>{@link org.eclipse.epf.uma.impl.TaskDescriptorImpl#getPerformedPrimarilyByExcluded <em>Performed Primarily By Excluded</em>}</li>
* <li>{@link org.eclipse.epf.uma.impl.TaskDescriptorImpl#getAdditionallyPerformedByExclude <em>Additionally Performed By Exclude</em>}</li>
* <li>{@link org.eclipse.epf.uma.impl.TaskDescriptorImpl#getMandatoryInputExclude <em>Mandatory Input Exclude</em>}</li>
* <li>{@link org.eclipse.epf.uma.impl.TaskDescriptorImpl#getOptionalInputExclude <em>Optional Input Exclude</em>}</li>
* <li>{@link org.eclipse.epf.uma.impl.TaskDescriptorImpl#getOutputExclude <em>Output Exclude</em>}</li>
* <li>{@link org.eclipse.epf.uma.impl.TaskDescriptorImpl#getSelectedStepsExclude <em>Selected Steps Exclude</em>}</li>
* </ul>
* </p>
*
* @generated
*/
public class TaskDescriptorImpl extends WorkBreakdownElementImpl implements
TaskDescriptor {
/**
* Comment for <code>serialVersionUID</code>
*/
private static final long serialVersionUID = -4419414664273910863L;
/**
* The default value of the '{@link #getIsSynchronizedWithSource() <em>Is Synchronized With Source</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getIsSynchronizedWithSource()
* @generated
* @ordered
*/
protected static final Boolean IS_SYNCHRONIZED_WITH_SOURCE_EDEFAULT = Boolean.TRUE;
/**
* The cached value of the '{@link #getIsSynchronizedWithSource() <em>Is Synchronized With Source</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getIsSynchronizedWithSource()
* @generated
* @ordered
*/
protected Boolean isSynchronizedWithSource = IS_SYNCHRONIZED_WITH_SOURCE_EDEFAULT;
/**
* The cached value of the '{@link #getGuidanceExclude() <em>Guidance Exclude</em>}' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getGuidanceExclude()
* @generated
* @ordered
*/
protected EList<Guidance> guidanceExclude;
/**
* The cached value of the '{@link #getGuidanceAdditional() <em>Guidance Additional</em>}' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getGuidanceAdditional()
* @generated
* @ordered
*/
protected EList<Guidance> guidanceAdditional;
/**
* The cached value of the '{@link #getTask() <em>Task</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getTask()
* @generated
* @ordered
*/
protected Task task;
/**
* The cached value of the '{@link #getAdditionallyPerformedBy() <em>Additionally Performed By</em>}' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getAdditionallyPerformedBy()
* @generated
* @ordered
*/
protected EList<RoleDescriptor> additionallyPerformedBy;
/**
* The cached value of the '{@link #getAssistedBy() <em>Assisted By</em>}' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getAssistedBy()
* @generated
* @ordered
*/
protected EList<RoleDescriptor> assistedBy;
/**
* The cached value of the '{@link #getExternalInput() <em>External Input</em>}' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getExternalInput()
* @generated
* @ordered
*/
protected EList<WorkProductDescriptor> externalInput;
/**
* The cached value of the '{@link #getMandatoryInput() <em>Mandatory Input</em>}' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getMandatoryInput()
* @generated
* @ordered
*/
protected EList<WorkProductDescriptor> mandatoryInput;
/**
* The cached value of the '{@link #getOptionalInput() <em>Optional Input</em>}' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getOptionalInput()
* @generated
* @ordered
*/
protected EList<WorkProductDescriptor> optionalInput;
/**
* The cached value of the '{@link #getOutput() <em>Output</em>}' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getOutput()
* @generated
* @ordered
*/
protected EList<WorkProductDescriptor> output;
/**
* The cached value of the '{@link #getPerformedPrimarilyBy() <em>Performed Primarily By</em>}' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getPerformedPrimarilyBy()
* @generated
* @ordered
*/
protected EList<RoleDescriptor> performedPrimarilyBy;
/**
* The cached value of the '{@link #getSelectedSteps() <em>Selected Steps</em>}' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getSelectedSteps()
* @generated
* @ordered
*/
protected EList<Section> selectedSteps;
/**
* The cached value of the '{@link #getPerformedPrimarilyByExcluded() <em>Performed Primarily By Excluded</em>}' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getPerformedPrimarilyByExcluded()
* @generated
* @ordered
*/
protected EList<Role> performedPrimarilyByExcluded;
/**
* The cached value of the '{@link #getAdditionallyPerformedByExclude() <em>Additionally Performed By Exclude</em>}' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getAdditionallyPerformedByExclude()
* @generated
* @ordered
*/
protected EList<Role> additionallyPerformedByExclude;
/**
* The cached value of the '{@link #getMandatoryInputExclude() <em>Mandatory Input Exclude</em>}' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getMandatoryInputExclude()
* @generated
* @ordered
*/
protected EList<WorkProduct> mandatoryInputExclude;
/**
* The cached value of the '{@link #getOptionalInputExclude() <em>Optional Input Exclude</em>}' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getOptionalInputExclude()
* @generated
* @ordered
*/
protected EList<WorkProduct> optionalInputExclude;
/**
* The cached value of the '{@link #getOutputExclude() <em>Output Exclude</em>}' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getOutputExclude()
* @generated
* @ordered
*/
protected EList<WorkProduct> outputExclude;
/**
* The cached value of the '{@link #getSelectedStepsExclude() <em>Selected Steps Exclude</em>}' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getSelectedStepsExclude()
* @generated
* @ordered
*/
protected EList<Section> selectedStepsExclude;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected TaskDescriptorImpl() {
super();
//UMA-->
reassignDefaultValues();
//UMA<--
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass() {
return UmaPackage.Literals.TASK_DESCRIPTOR;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Boolean getIsSynchronizedWithSource() {
return isSynchronizedWithSource;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setIsSynchronizedWithSource(Boolean newIsSynchronizedWithSource) {
Boolean oldIsSynchronizedWithSource = isSynchronizedWithSource;
isSynchronizedWithSource = newIsSynchronizedWithSource;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET,
UmaPackage.TASK_DESCRIPTOR__IS_SYNCHRONIZED_WITH_SOURCE,
oldIsSynchronizedWithSource, isSynchronizedWithSource));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public List<Guidance> getGuidanceExclude() {
if (guidanceExclude == null) {
guidanceExclude = new EObjectResolvingEList<Guidance>(
Guidance.class, this,
UmaPackage.TASK_DESCRIPTOR__GUIDANCE_EXCLUDE);
}
return guidanceExclude;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public List<Guidance> getGuidanceAdditional() {
if (guidanceAdditional == null) {
guidanceAdditional = new EObjectResolvingEList<Guidance>(
Guidance.class, this,
UmaPackage.TASK_DESCRIPTOR__GUIDANCE_ADDITIONAL);
}
return guidanceAdditional;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Task getTask() {
if (task != null && ((EObject) task).eIsProxy()) {
InternalEObject oldTask = (InternalEObject) task;
task = (Task) eResolveProxy(oldTask);
if (task != oldTask) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE,
UmaPackage.TASK_DESCRIPTOR__TASK, oldTask, task));
}
}
return task;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Task basicGetTask() {
return task;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setTask(Task newTask) {
Task oldTask = task;
task = newTask;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET,
UmaPackage.TASK_DESCRIPTOR__TASK, oldTask, task));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public List<RoleDescriptor> getAdditionallyPerformedBy() {
if (additionallyPerformedBy == null) {
additionallyPerformedBy = new EObjectResolvingEList<RoleDescriptor>(
RoleDescriptor.class, this,
UmaPackage.TASK_DESCRIPTOR__ADDITIONALLY_PERFORMED_BY);
}
return additionallyPerformedBy;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public List<RoleDescriptor> getAssistedBy() {
if (assistedBy == null) {
assistedBy = new EObjectResolvingEList<RoleDescriptor>(
RoleDescriptor.class, this,
UmaPackage.TASK_DESCRIPTOR__ASSISTED_BY);
}
return assistedBy;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public List<WorkProductDescriptor> getExternalInput() {
if (externalInput == null) {
externalInput = new EObjectResolvingEList<WorkProductDescriptor>(
WorkProductDescriptor.class, this,
UmaPackage.TASK_DESCRIPTOR__EXTERNAL_INPUT);
}
return externalInput;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public List<WorkProductDescriptor> getMandatoryInput() {
if (mandatoryInput == null) {
mandatoryInput = new EObjectResolvingEList<WorkProductDescriptor>(
WorkProductDescriptor.class, this,
UmaPackage.TASK_DESCRIPTOR__MANDATORY_INPUT);
}
return mandatoryInput;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public List<WorkProductDescriptor> getOptionalInput() {
if (optionalInput == null) {
optionalInput = new EObjectResolvingEList<WorkProductDescriptor>(
WorkProductDescriptor.class, this,
UmaPackage.TASK_DESCRIPTOR__OPTIONAL_INPUT);
}
return optionalInput;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public List<WorkProductDescriptor> getOutput() {
if (output == null) {
output = new EObjectResolvingEList<WorkProductDescriptor>(
WorkProductDescriptor.class, this,
UmaPackage.TASK_DESCRIPTOR__OUTPUT);
}
return output;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public List<RoleDescriptor> getPerformedPrimarilyBy() {
if (performedPrimarilyBy == null) {
performedPrimarilyBy = new EObjectResolvingEList<RoleDescriptor>(
RoleDescriptor.class, this,
UmaPackage.TASK_DESCRIPTOR__PERFORMED_PRIMARILY_BY);
}
return performedPrimarilyBy;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public List<Section> getSelectedSteps() {
if (selectedSteps == null) {
selectedSteps = new EObjectResolvingEList<Section>(Section.class,
this, UmaPackage.TASK_DESCRIPTOR__SELECTED_STEPS);
}
return selectedSteps;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public List<Role> getPerformedPrimarilyByExcluded() {
if (performedPrimarilyByExcluded == null) {
performedPrimarilyByExcluded = new EObjectResolvingEList<Role>(
Role.class, this,
UmaPackage.TASK_DESCRIPTOR__PERFORMED_PRIMARILY_BY_EXCLUDED);
}
return performedPrimarilyByExcluded;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public List<Role> getAdditionallyPerformedByExclude() {
if (additionallyPerformedByExclude == null) {
additionallyPerformedByExclude = new EObjectResolvingEList<Role>(
Role.class,
this,
UmaPackage.TASK_DESCRIPTOR__ADDITIONALLY_PERFORMED_BY_EXCLUDE);
}
return additionallyPerformedByExclude;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public List<WorkProduct> getMandatoryInputExclude() {
if (mandatoryInputExclude == null) {
mandatoryInputExclude = new EObjectResolvingEList<WorkProduct>(
WorkProduct.class, this,
UmaPackage.TASK_DESCRIPTOR__MANDATORY_INPUT_EXCLUDE);
}
return mandatoryInputExclude;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public List<WorkProduct> getOptionalInputExclude() {
if (optionalInputExclude == null) {
optionalInputExclude = new EObjectResolvingEList<WorkProduct>(
WorkProduct.class, this,
UmaPackage.TASK_DESCRIPTOR__OPTIONAL_INPUT_EXCLUDE);
}
return optionalInputExclude;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public List<WorkProduct> getOutputExclude() {
if (outputExclude == null) {
outputExclude = new EObjectResolvingEList<WorkProduct>(
WorkProduct.class, this,
UmaPackage.TASK_DESCRIPTOR__OUTPUT_EXCLUDE);
}
return outputExclude;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public List<Section> getSelectedStepsExclude() {
if (selectedStepsExclude == null) {
selectedStepsExclude = new EObjectResolvingEList<Section>(
Section.class, this,
UmaPackage.TASK_DESCRIPTOR__SELECTED_STEPS_EXCLUDE);
}
return selectedStepsExclude;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case UmaPackage.TASK_DESCRIPTOR__IS_SYNCHRONIZED_WITH_SOURCE:
return getIsSynchronizedWithSource();
case UmaPackage.TASK_DESCRIPTOR__GUIDANCE_EXCLUDE:
return getGuidanceExclude();
case UmaPackage.TASK_DESCRIPTOR__GUIDANCE_ADDITIONAL:
return getGuidanceAdditional();
case UmaPackage.TASK_DESCRIPTOR__TASK:
if (resolve)
return getTask();
return basicGetTask();
case UmaPackage.TASK_DESCRIPTOR__ADDITIONALLY_PERFORMED_BY:
return getAdditionallyPerformedBy();
case UmaPackage.TASK_DESCRIPTOR__ASSISTED_BY:
return getAssistedBy();
case UmaPackage.TASK_DESCRIPTOR__EXTERNAL_INPUT:
return getExternalInput();
case UmaPackage.TASK_DESCRIPTOR__MANDATORY_INPUT:
return getMandatoryInput();
case UmaPackage.TASK_DESCRIPTOR__OPTIONAL_INPUT:
return getOptionalInput();
case UmaPackage.TASK_DESCRIPTOR__OUTPUT:
return getOutput();
case UmaPackage.TASK_DESCRIPTOR__PERFORMED_PRIMARILY_BY:
return getPerformedPrimarilyBy();
case UmaPackage.TASK_DESCRIPTOR__SELECTED_STEPS:
return getSelectedSteps();
case UmaPackage.TASK_DESCRIPTOR__PERFORMED_PRIMARILY_BY_EXCLUDED:
return getPerformedPrimarilyByExcluded();
case UmaPackage.TASK_DESCRIPTOR__ADDITIONALLY_PERFORMED_BY_EXCLUDE:
return getAdditionallyPerformedByExclude();
case UmaPackage.TASK_DESCRIPTOR__MANDATORY_INPUT_EXCLUDE:
return getMandatoryInputExclude();
case UmaPackage.TASK_DESCRIPTOR__OPTIONAL_INPUT_EXCLUDE:
return getOptionalInputExclude();
case UmaPackage.TASK_DESCRIPTOR__OUTPUT_EXCLUDE:
return getOutputExclude();
case UmaPackage.TASK_DESCRIPTOR__SELECTED_STEPS_EXCLUDE:
return getSelectedStepsExclude();
}
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 UmaPackage.TASK_DESCRIPTOR__IS_SYNCHRONIZED_WITH_SOURCE:
setIsSynchronizedWithSource((Boolean) newValue);
return;
case UmaPackage.TASK_DESCRIPTOR__GUIDANCE_EXCLUDE:
getGuidanceExclude().clear();
getGuidanceExclude().addAll(
(Collection<? extends Guidance>) newValue);
return;
case UmaPackage.TASK_DESCRIPTOR__GUIDANCE_ADDITIONAL:
getGuidanceAdditional().clear();
getGuidanceAdditional().addAll(
(Collection<? extends Guidance>) newValue);
return;
case UmaPackage.TASK_DESCRIPTOR__TASK:
setTask((Task) newValue);
return;
case UmaPackage.TASK_DESCRIPTOR__ADDITIONALLY_PERFORMED_BY:
getAdditionallyPerformedBy().clear();
getAdditionallyPerformedBy().addAll(
(Collection<? extends RoleDescriptor>) newValue);
return;
case UmaPackage.TASK_DESCRIPTOR__ASSISTED_BY:
getAssistedBy().clear();
getAssistedBy().addAll(
(Collection<? extends RoleDescriptor>) newValue);
return;
case UmaPackage.TASK_DESCRIPTOR__EXTERNAL_INPUT:
getExternalInput().clear();
getExternalInput().addAll(
(Collection<? extends WorkProductDescriptor>) newValue);
return;
case UmaPackage.TASK_DESCRIPTOR__MANDATORY_INPUT:
getMandatoryInput().clear();
getMandatoryInput().addAll(
(Collection<? extends WorkProductDescriptor>) newValue);
return;
case UmaPackage.TASK_DESCRIPTOR__OPTIONAL_INPUT:
getOptionalInput().clear();
getOptionalInput().addAll(
(Collection<? extends WorkProductDescriptor>) newValue);
return;
case UmaPackage.TASK_DESCRIPTOR__OUTPUT:
getOutput().clear();
getOutput().addAll(
(Collection<? extends WorkProductDescriptor>) newValue);
return;
case UmaPackage.TASK_DESCRIPTOR__PERFORMED_PRIMARILY_BY:
getPerformedPrimarilyBy().clear();
getPerformedPrimarilyBy().addAll(
(Collection<? extends RoleDescriptor>) newValue);
return;
case UmaPackage.TASK_DESCRIPTOR__SELECTED_STEPS:
getSelectedSteps().clear();
getSelectedSteps().addAll((Collection<? extends Section>) newValue);
return;
case UmaPackage.TASK_DESCRIPTOR__PERFORMED_PRIMARILY_BY_EXCLUDED:
getPerformedPrimarilyByExcluded().clear();
getPerformedPrimarilyByExcluded().addAll(
(Collection<? extends Role>) newValue);
return;
case UmaPackage.TASK_DESCRIPTOR__ADDITIONALLY_PERFORMED_BY_EXCLUDE:
getAdditionallyPerformedByExclude().clear();
getAdditionallyPerformedByExclude().addAll(
(Collection<? extends Role>) newValue);
return;
case UmaPackage.TASK_DESCRIPTOR__MANDATORY_INPUT_EXCLUDE:
getMandatoryInputExclude().clear();
getMandatoryInputExclude().addAll(
(Collection<? extends WorkProduct>) newValue);
return;
case UmaPackage.TASK_DESCRIPTOR__OPTIONAL_INPUT_EXCLUDE:
getOptionalInputExclude().clear();
getOptionalInputExclude().addAll(
(Collection<? extends WorkProduct>) newValue);
return;
case UmaPackage.TASK_DESCRIPTOR__OUTPUT_EXCLUDE:
getOutputExclude().clear();
getOutputExclude().addAll(
(Collection<? extends WorkProduct>) newValue);
return;
case UmaPackage.TASK_DESCRIPTOR__SELECTED_STEPS_EXCLUDE:
getSelectedStepsExclude().clear();
getSelectedStepsExclude().addAll(
(Collection<? extends Section>) newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID) {
switch (featureID) {
case UmaPackage.TASK_DESCRIPTOR__IS_SYNCHRONIZED_WITH_SOURCE:
setIsSynchronizedWithSource(IS_SYNCHRONIZED_WITH_SOURCE_EDEFAULT);
return;
case UmaPackage.TASK_DESCRIPTOR__GUIDANCE_EXCLUDE:
getGuidanceExclude().clear();
return;
case UmaPackage.TASK_DESCRIPTOR__GUIDANCE_ADDITIONAL:
getGuidanceAdditional().clear();
return;
case UmaPackage.TASK_DESCRIPTOR__TASK:
setTask((Task) null);
return;
case UmaPackage.TASK_DESCRIPTOR__ADDITIONALLY_PERFORMED_BY:
getAdditionallyPerformedBy().clear();
return;
case UmaPackage.TASK_DESCRIPTOR__ASSISTED_BY:
getAssistedBy().clear();
return;
case UmaPackage.TASK_DESCRIPTOR__EXTERNAL_INPUT:
getExternalInput().clear();
return;
case UmaPackage.TASK_DESCRIPTOR__MANDATORY_INPUT:
getMandatoryInput().clear();
return;
case UmaPackage.TASK_DESCRIPTOR__OPTIONAL_INPUT:
getOptionalInput().clear();
return;
case UmaPackage.TASK_DESCRIPTOR__OUTPUT:
getOutput().clear();
return;
case UmaPackage.TASK_DESCRIPTOR__PERFORMED_PRIMARILY_BY:
getPerformedPrimarilyBy().clear();
return;
case UmaPackage.TASK_DESCRIPTOR__SELECTED_STEPS:
getSelectedSteps().clear();
return;
case UmaPackage.TASK_DESCRIPTOR__PERFORMED_PRIMARILY_BY_EXCLUDED:
getPerformedPrimarilyByExcluded().clear();
return;
case UmaPackage.TASK_DESCRIPTOR__ADDITIONALLY_PERFORMED_BY_EXCLUDE:
getAdditionallyPerformedByExclude().clear();
return;
case UmaPackage.TASK_DESCRIPTOR__MANDATORY_INPUT_EXCLUDE:
getMandatoryInputExclude().clear();
return;
case UmaPackage.TASK_DESCRIPTOR__OPTIONAL_INPUT_EXCLUDE:
getOptionalInputExclude().clear();
return;
case UmaPackage.TASK_DESCRIPTOR__OUTPUT_EXCLUDE:
getOutputExclude().clear();
return;
case UmaPackage.TASK_DESCRIPTOR__SELECTED_STEPS_EXCLUDE:
getSelectedStepsExclude().clear();
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID) {
//UMA-->
EStructuralFeature feature = getFeatureWithOverridenDefaultValue(featureID);
if (feature != null) {
return isFeatureWithOverridenDefaultValueSet(feature);
}
//UMA<--
switch (featureID) {
case UmaPackage.TASK_DESCRIPTOR__IS_SYNCHRONIZED_WITH_SOURCE:
return IS_SYNCHRONIZED_WITH_SOURCE_EDEFAULT == null ? isSynchronizedWithSource != null
: !IS_SYNCHRONIZED_WITH_SOURCE_EDEFAULT
.equals(isSynchronizedWithSource);
case UmaPackage.TASK_DESCRIPTOR__GUIDANCE_EXCLUDE:
return guidanceExclude != null && !guidanceExclude.isEmpty();
case UmaPackage.TASK_DESCRIPTOR__GUIDANCE_ADDITIONAL:
return guidanceAdditional != null && !guidanceAdditional.isEmpty();
case UmaPackage.TASK_DESCRIPTOR__TASK:
return task != null;
case UmaPackage.TASK_DESCRIPTOR__ADDITIONALLY_PERFORMED_BY:
return additionallyPerformedBy != null
&& !additionallyPerformedBy.isEmpty();
case UmaPackage.TASK_DESCRIPTOR__ASSISTED_BY:
return assistedBy != null && !assistedBy.isEmpty();
case UmaPackage.TASK_DESCRIPTOR__EXTERNAL_INPUT:
return externalInput != null && !externalInput.isEmpty();
case UmaPackage.TASK_DESCRIPTOR__MANDATORY_INPUT:
return mandatoryInput != null && !mandatoryInput.isEmpty();
case UmaPackage.TASK_DESCRIPTOR__OPTIONAL_INPUT:
return optionalInput != null && !optionalInput.isEmpty();
case UmaPackage.TASK_DESCRIPTOR__OUTPUT:
return output != null && !output.isEmpty();
case UmaPackage.TASK_DESCRIPTOR__PERFORMED_PRIMARILY_BY:
return performedPrimarilyBy != null
&& !performedPrimarilyBy.isEmpty();
case UmaPackage.TASK_DESCRIPTOR__SELECTED_STEPS:
return selectedSteps != null && !selectedSteps.isEmpty();
case UmaPackage.TASK_DESCRIPTOR__PERFORMED_PRIMARILY_BY_EXCLUDED:
return performedPrimarilyByExcluded != null
&& !performedPrimarilyByExcluded.isEmpty();
case UmaPackage.TASK_DESCRIPTOR__ADDITIONALLY_PERFORMED_BY_EXCLUDE:
return additionallyPerformedByExclude != null
&& !additionallyPerformedByExclude.isEmpty();
case UmaPackage.TASK_DESCRIPTOR__MANDATORY_INPUT_EXCLUDE:
return mandatoryInputExclude != null
&& !mandatoryInputExclude.isEmpty();
case UmaPackage.TASK_DESCRIPTOR__OPTIONAL_INPUT_EXCLUDE:
return optionalInputExclude != null
&& !optionalInputExclude.isEmpty();
case UmaPackage.TASK_DESCRIPTOR__OUTPUT_EXCLUDE:
return outputExclude != null && !outputExclude.isEmpty();
case UmaPackage.TASK_DESCRIPTOR__SELECTED_STEPS_EXCLUDE:
return selectedStepsExclude != null
&& !selectedStepsExclude.isEmpty();
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
if (baseClass == Descriptor.class) {
switch (derivedFeatureID) {
case UmaPackage.TASK_DESCRIPTOR__IS_SYNCHRONIZED_WITH_SOURCE:
return UmaPackage.DESCRIPTOR__IS_SYNCHRONIZED_WITH_SOURCE;
case UmaPackage.TASK_DESCRIPTOR__GUIDANCE_EXCLUDE:
return UmaPackage.DESCRIPTOR__GUIDANCE_EXCLUDE;
case UmaPackage.TASK_DESCRIPTOR__GUIDANCE_ADDITIONAL:
return UmaPackage.DESCRIPTOR__GUIDANCE_ADDITIONAL;
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 == Descriptor.class) {
switch (baseFeatureID) {
case UmaPackage.DESCRIPTOR__IS_SYNCHRONIZED_WITH_SOURCE:
return UmaPackage.TASK_DESCRIPTOR__IS_SYNCHRONIZED_WITH_SOURCE;
case UmaPackage.DESCRIPTOR__GUIDANCE_EXCLUDE:
return UmaPackage.TASK_DESCRIPTOR__GUIDANCE_EXCLUDE;
case UmaPackage.DESCRIPTOR__GUIDANCE_ADDITIONAL:
return UmaPackage.TASK_DESCRIPTOR__GUIDANCE_ADDITIONAL;
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(" (isSynchronizedWithSource: "); //$NON-NLS-1$
result.append(isSynchronizedWithSource);
result.append(')');
return result.toString();
}
////////////////////////
// Begin of custom code
////////////////////////
static {
// override the default value of BreakdownElement.isPlanned
//
DefaultValueManager.INSTANCE.setStaticDefaultValue(UmaPackage.eINSTANCE
.getTaskDescriptor(), UmaPackage.eINSTANCE
.getBreakdownElement_IsPlanned(), Boolean.FALSE);
}
} //TaskDescriptorImpl