/** * <copyright> * </copyright> * * $Id$ */ package system.impl; import java.util.Collection; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.util.EDataTypeUniqueEList; import system.Data; import system.SystemPackage; import org.eclipse.incquery.querybasedfeatures.runtime.IQueryBasedFeatureHandler; import org.eclipse.incquery.querybasedfeatures.runtime.QueryBasedFeatureKind; import org.eclipse.incquery.querybasedfeatures.runtime.QueryBasedFeatureHelper; /** * <!-- begin-user-doc --> * An implementation of the model object '<em><b>Data</b></em>'. * <!-- end-user-doc --> * <p> * The following features are implemented: * <ul> * <li>{@link system.impl.DataImpl#getReadingTaskIds <em>Reading Task Ids</em>}</li> * <li>{@link system.impl.DataImpl#getWritingTaskIds <em>Writing Task Ids</em>}</li> * <li>{@link system.impl.DataImpl#getWritingTask <em>Writing Task</em>}</li> * <li>{@link system.impl.DataImpl#getReadingTask <em>Reading Task</em>}</li> * </ul> * </p> * * @generated */ public class DataImpl extends ResourceElementImpl implements Data { /** * The cached value of the '{@link #getReadingTaskIds() <em>Reading Task Ids</em>}' attribute list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getReadingTaskIds() * @generated * @ordered */ protected EList readingTaskIds; /** * The cached value of the '{@link #getWritingTaskIds() <em>Writing Task Ids</em>}' attribute list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getWritingTaskIds() * @generated * @ordered */ protected EList writingTaskIds; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected DataImpl() { super(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected EClass eStaticClass() { return SystemPackage.Literals.DATA; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EList getReadingTaskIds() { if (readingTaskIds == null) { readingTaskIds = new EDataTypeUniqueEList(String.class, this, SystemPackage.DATA__READING_TASK_IDS); } return readingTaskIds; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EList getWritingTaskIds() { if (writingTaskIds == null) { writingTaskIds = new EDataTypeUniqueEList(String.class, this, SystemPackage.DATA__WRITING_TASK_IDS); } return writingTaskIds; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EList getWritingTaskGen() { // TODO: implement this method to return the 'Writing Task' reference list // Ensure that you remove @generated or mark it @generated NOT // The list is expected to implement org.eclipse.emf.ecore.util.InternalEList and org.eclipse.emf.ecore.EStructuralFeature.Setting // so it's likely that an appropriate subclass of org.eclipse.emf.ecore.util.EcoreEList should be used. throw new UnsupportedOperationException(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EList getReadingTaskGen() { // TODO: implement this method to return the 'Reading Task' reference list // Ensure that you remove @generated or mark it @generated NOT // The list is expected to implement org.eclipse.emf.ecore.util.InternalEList and org.eclipse.emf.ecore.EStructuralFeature.Setting // so it's likely that an appropriate subclass of org.eclipse.emf.ecore.util.EcoreEList should be used. throw new UnsupportedOperationException(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Object eGet(int featureID, boolean resolve, boolean coreType) { switch (featureID) { case SystemPackage.DATA__READING_TASK_IDS: return getReadingTaskIds(); case SystemPackage.DATA__WRITING_TASK_IDS: return getWritingTaskIds(); case SystemPackage.DATA__WRITING_TASK: return getWritingTask(); case SystemPackage.DATA__READING_TASK: return getReadingTask(); } return super.eGet(featureID, resolve, coreType); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void eSet(int featureID, Object newValue) { switch (featureID) { case SystemPackage.DATA__READING_TASK_IDS: getReadingTaskIds().clear(); getReadingTaskIds().addAll((Collection)newValue); return; case SystemPackage.DATA__WRITING_TASK_IDS: getWritingTaskIds().clear(); getWritingTaskIds().addAll((Collection)newValue); return; } super.eSet(featureID, newValue); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void eUnset(int featureID) { switch (featureID) { case SystemPackage.DATA__READING_TASK_IDS: getReadingTaskIds().clear(); return; case SystemPackage.DATA__WRITING_TASK_IDS: getWritingTaskIds().clear(); return; } super.eUnset(featureID); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public boolean eIsSet(int featureID) { switch (featureID) { case SystemPackage.DATA__READING_TASK_IDS: return readingTaskIds != null && !readingTaskIds.isEmpty(); case SystemPackage.DATA__WRITING_TASK_IDS: return writingTaskIds != null && !writingTaskIds.isEmpty(); case SystemPackage.DATA__WRITING_TASK: return !getWritingTask().isEmpty(); case SystemPackage.DATA__READING_TASK: return !getReadingTask().isEmpty(); } return super.eIsSet(featureID); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String toString() { if (eIsProxy()) return super.toString(); StringBuffer result = new StringBuffer(super.toString()); result.append(" (readingTaskIds: "); result.append(readingTaskIds); result.append(", writingTaskIds: "); result.append(writingTaskIds); result.append(')'); return result.toString(); } /** * EMF-IncQuery handler for query-based feature readingTask */ private IQueryBasedFeatureHandler readingTaskHandler; /** * <!-- begin-user-doc --> <!-- end-user-doc --> * @query-based getter created by EMF-IncQuery for query-based feature readingTask */ public EList getReadingTask() { if (readingTaskHandler == null) { readingTaskHandler = QueryBasedFeatureHelper .getQueryBasedFeatureHandler(this, SystemPackageImpl.Literals.DATA__READING_TASK, "system.queries.DataTaskReadCorrespondence", "Data", "Task", QueryBasedFeatureKind.MANY_REFERENCE, true, false); } return readingTaskHandler.getManyReferenceValueAsEList(this); } /** * EMF-IncQuery handler for query-based feature writingTask */ private IQueryBasedFeatureHandler writingTaskHandler; /** * <!-- begin-user-doc --> <!-- end-user-doc --> * @query-based getter created by EMF-IncQuery for query-based feature writingTask */ public EList getWritingTask() { if (writingTaskHandler == null) { writingTaskHandler = QueryBasedFeatureHelper .getQueryBasedFeatureHandler(this, SystemPackageImpl.Literals.DATA__WRITING_TASK, "system.queries.DataTaskWriteCorrespondence", "Data", "Task", QueryBasedFeatureKind.MANY_REFERENCE, true, false); } return writingTaskHandler.getManyReferenceValueAsEList(this); } } //DataImpl