/******************************************************************************* * Copyright (c) 2006-2012 * Software Technology Group, Dresden University of Technology * DevBoost GmbH, Berlin, Amtsgericht Charlottenburg, HRB 140026 * * 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: * Software Technology Group - TU Dresden, Germany; * DevBoost GmbH - Berlin, Germany * - initial API and implementation ******************************************************************************/ /** * <copyright> * </copyright> * * $Id$ */ package org.oasisopen.names.tc.opendocument.xmlns.table.impl; import java.util.Collection; 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.impl.EObjectImpl; import org.eclipse.emf.ecore.util.EObjectContainmentEList; import org.eclipse.emf.ecore.util.InternalEList; import org.oasisopen.names.tc.opendocument.xmlns.table.DataPilotGroupType; import org.oasisopen.names.tc.opendocument.xmlns.table.DataPilotGroupsType; import org.oasisopen.names.tc.opendocument.xmlns.table.GroupedByType; import org.oasisopen.names.tc.opendocument.xmlns.table.TablePackage; /** * <!-- begin-user-doc --> * An implementation of the model object '<em><b>Data Pilot Groups Type</b></em>'. * <!-- end-user-doc --> * <p> * The following features are implemented: * <ul> * <li>{@link org.oasisopen.names.tc.opendocument.xmlns.table.impl.DataPilotGroupsTypeImpl#getDataPilotGroup <em>Data Pilot Group</em>}</li> * <li>{@link org.oasisopen.names.tc.opendocument.xmlns.table.impl.DataPilotGroupsTypeImpl#getDateEnd <em>Date End</em>}</li> * <li>{@link org.oasisopen.names.tc.opendocument.xmlns.table.impl.DataPilotGroupsTypeImpl#getDateStart <em>Date Start</em>}</li> * <li>{@link org.oasisopen.names.tc.opendocument.xmlns.table.impl.DataPilotGroupsTypeImpl#getEnd <em>End</em>}</li> * <li>{@link org.oasisopen.names.tc.opendocument.xmlns.table.impl.DataPilotGroupsTypeImpl#getGroupedBy <em>Grouped By</em>}</li> * <li>{@link org.oasisopen.names.tc.opendocument.xmlns.table.impl.DataPilotGroupsTypeImpl#getSourceFieldName <em>Source Field Name</em>}</li> * <li>{@link org.oasisopen.names.tc.opendocument.xmlns.table.impl.DataPilotGroupsTypeImpl#getStart <em>Start</em>}</li> * <li>{@link org.oasisopen.names.tc.opendocument.xmlns.table.impl.DataPilotGroupsTypeImpl#getStep <em>Step</em>}</li> * </ul> * </p> * * @generated */ public class DataPilotGroupsTypeImpl extends EObjectImpl implements DataPilotGroupsType { /** * The cached value of the '{@link #getDataPilotGroup() <em>Data Pilot Group</em>}' containment reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getDataPilotGroup() * @generated * @ordered */ protected EList<DataPilotGroupType> dataPilotGroup; /** * The default value of the '{@link #getDateEnd() <em>Date End</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getDateEnd() * @generated * @ordered */ protected static final Object DATE_END_EDEFAULT = null; /** * The cached value of the '{@link #getDateEnd() <em>Date End</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getDateEnd() * @generated * @ordered */ protected Object dateEnd = DATE_END_EDEFAULT; /** * The default value of the '{@link #getDateStart() <em>Date Start</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getDateStart() * @generated * @ordered */ protected static final Object DATE_START_EDEFAULT = null; /** * The cached value of the '{@link #getDateStart() <em>Date Start</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getDateStart() * @generated * @ordered */ protected Object dateStart = DATE_START_EDEFAULT; /** * The default value of the '{@link #getEnd() <em>End</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getEnd() * @generated * @ordered */ protected static final Object END_EDEFAULT = null; /** * The cached value of the '{@link #getEnd() <em>End</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getEnd() * @generated * @ordered */ protected Object end = END_EDEFAULT; /** * The default value of the '{@link #getGroupedBy() <em>Grouped By</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getGroupedBy() * @generated * @ordered */ protected static final GroupedByType GROUPED_BY_EDEFAULT = GroupedByType.SECONDS; /** * The cached value of the '{@link #getGroupedBy() <em>Grouped By</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getGroupedBy() * @generated * @ordered */ protected GroupedByType groupedBy = GROUPED_BY_EDEFAULT; /** * This is true if the Grouped By attribute has been set. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ protected boolean groupedByESet; /** * The default value of the '{@link #getSourceFieldName() <em>Source Field Name</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getSourceFieldName() * @generated * @ordered */ protected static final String SOURCE_FIELD_NAME_EDEFAULT = null; /** * The cached value of the '{@link #getSourceFieldName() <em>Source Field Name</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getSourceFieldName() * @generated * @ordered */ protected String sourceFieldName = SOURCE_FIELD_NAME_EDEFAULT; /** * The default value of the '{@link #getStart() <em>Start</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getStart() * @generated * @ordered */ protected static final Object START_EDEFAULT = null; /** * The cached value of the '{@link #getStart() <em>Start</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getStart() * @generated * @ordered */ protected Object start = START_EDEFAULT; /** * The default value of the '{@link #getStep() <em>Step</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getStep() * @generated * @ordered */ protected static final double STEP_EDEFAULT = 0.0; /** * The cached value of the '{@link #getStep() <em>Step</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getStep() * @generated * @ordered */ protected double step = STEP_EDEFAULT; /** * This is true if the Step attribute has been set. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ protected boolean stepESet; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected DataPilotGroupsTypeImpl() { super(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override protected EClass eStaticClass() { return TablePackage.eINSTANCE.getDataPilotGroupsType(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EList<DataPilotGroupType> getDataPilotGroup() { if (dataPilotGroup == null) { dataPilotGroup = new EObjectContainmentEList<DataPilotGroupType>(DataPilotGroupType.class, this, TablePackage.DATA_PILOT_GROUPS_TYPE__DATA_PILOT_GROUP); } return dataPilotGroup; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Object getDateEnd() { return dateEnd; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setDateEnd(Object newDateEnd) { Object oldDateEnd = dateEnd; dateEnd = newDateEnd; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, TablePackage.DATA_PILOT_GROUPS_TYPE__DATE_END, oldDateEnd, dateEnd)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Object getDateStart() { return dateStart; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setDateStart(Object newDateStart) { Object oldDateStart = dateStart; dateStart = newDateStart; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, TablePackage.DATA_PILOT_GROUPS_TYPE__DATE_START, oldDateStart, dateStart)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Object getEnd() { return end; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setEnd(Object newEnd) { Object oldEnd = end; end = newEnd; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, TablePackage.DATA_PILOT_GROUPS_TYPE__END, oldEnd, end)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public GroupedByType getGroupedBy() { return groupedBy; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setGroupedBy(GroupedByType newGroupedBy) { GroupedByType oldGroupedBy = groupedBy; groupedBy = newGroupedBy == null ? GROUPED_BY_EDEFAULT : newGroupedBy; boolean oldGroupedByESet = groupedByESet; groupedByESet = true; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, TablePackage.DATA_PILOT_GROUPS_TYPE__GROUPED_BY, oldGroupedBy, groupedBy, !oldGroupedByESet)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void unsetGroupedBy() { GroupedByType oldGroupedBy = groupedBy; boolean oldGroupedByESet = groupedByESet; groupedBy = GROUPED_BY_EDEFAULT; groupedByESet = false; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.UNSET, TablePackage.DATA_PILOT_GROUPS_TYPE__GROUPED_BY, oldGroupedBy, GROUPED_BY_EDEFAULT, oldGroupedByESet)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public boolean isSetGroupedBy() { return groupedByESet; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getSourceFieldName() { return sourceFieldName; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setSourceFieldName(String newSourceFieldName) { String oldSourceFieldName = sourceFieldName; sourceFieldName = newSourceFieldName; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, TablePackage.DATA_PILOT_GROUPS_TYPE__SOURCE_FIELD_NAME, oldSourceFieldName, sourceFieldName)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Object getStart() { return start; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setStart(Object newStart) { Object oldStart = start; start = newStart; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, TablePackage.DATA_PILOT_GROUPS_TYPE__START, oldStart, start)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public double getStep() { return step; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setStep(double newStep) { double oldStep = step; step = newStep; boolean oldStepESet = stepESet; stepESet = true; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, TablePackage.DATA_PILOT_GROUPS_TYPE__STEP, oldStep, step, !oldStepESet)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void unsetStep() { double oldStep = step; boolean oldStepESet = stepESet; step = STEP_EDEFAULT; stepESet = false; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.UNSET, TablePackage.DATA_PILOT_GROUPS_TYPE__STEP, oldStep, STEP_EDEFAULT, oldStepESet)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public boolean isSetStep() { return stepESet; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { switch (featureID) { case TablePackage.DATA_PILOT_GROUPS_TYPE__DATA_PILOT_GROUP: return ((InternalEList<?>)getDataPilotGroup()).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 TablePackage.DATA_PILOT_GROUPS_TYPE__DATA_PILOT_GROUP: return getDataPilotGroup(); case TablePackage.DATA_PILOT_GROUPS_TYPE__DATE_END: return getDateEnd(); case TablePackage.DATA_PILOT_GROUPS_TYPE__DATE_START: return getDateStart(); case TablePackage.DATA_PILOT_GROUPS_TYPE__END: return getEnd(); case TablePackage.DATA_PILOT_GROUPS_TYPE__GROUPED_BY: return getGroupedBy(); case TablePackage.DATA_PILOT_GROUPS_TYPE__SOURCE_FIELD_NAME: return getSourceFieldName(); case TablePackage.DATA_PILOT_GROUPS_TYPE__START: return getStart(); case TablePackage.DATA_PILOT_GROUPS_TYPE__STEP: return new Double(getStep()); } 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 TablePackage.DATA_PILOT_GROUPS_TYPE__DATA_PILOT_GROUP: getDataPilotGroup().clear(); getDataPilotGroup().addAll((Collection<? extends DataPilotGroupType>)newValue); return; case TablePackage.DATA_PILOT_GROUPS_TYPE__DATE_END: setDateEnd(newValue); return; case TablePackage.DATA_PILOT_GROUPS_TYPE__DATE_START: setDateStart(newValue); return; case TablePackage.DATA_PILOT_GROUPS_TYPE__END: setEnd(newValue); return; case TablePackage.DATA_PILOT_GROUPS_TYPE__GROUPED_BY: setGroupedBy((GroupedByType)newValue); return; case TablePackage.DATA_PILOT_GROUPS_TYPE__SOURCE_FIELD_NAME: setSourceFieldName((String)newValue); return; case TablePackage.DATA_PILOT_GROUPS_TYPE__START: setStart(newValue); return; case TablePackage.DATA_PILOT_GROUPS_TYPE__STEP: setStep(((Double)newValue).doubleValue()); return; } super.eSet(featureID, newValue); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public void eUnset(int featureID) { switch (featureID) { case TablePackage.DATA_PILOT_GROUPS_TYPE__DATA_PILOT_GROUP: getDataPilotGroup().clear(); return; case TablePackage.DATA_PILOT_GROUPS_TYPE__DATE_END: setDateEnd(DATE_END_EDEFAULT); return; case TablePackage.DATA_PILOT_GROUPS_TYPE__DATE_START: setDateStart(DATE_START_EDEFAULT); return; case TablePackage.DATA_PILOT_GROUPS_TYPE__END: setEnd(END_EDEFAULT); return; case TablePackage.DATA_PILOT_GROUPS_TYPE__GROUPED_BY: unsetGroupedBy(); return; case TablePackage.DATA_PILOT_GROUPS_TYPE__SOURCE_FIELD_NAME: setSourceFieldName(SOURCE_FIELD_NAME_EDEFAULT); return; case TablePackage.DATA_PILOT_GROUPS_TYPE__START: setStart(START_EDEFAULT); return; case TablePackage.DATA_PILOT_GROUPS_TYPE__STEP: unsetStep(); return; } super.eUnset(featureID); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public boolean eIsSet(int featureID) { switch (featureID) { case TablePackage.DATA_PILOT_GROUPS_TYPE__DATA_PILOT_GROUP: return dataPilotGroup != null && !dataPilotGroup.isEmpty(); case TablePackage.DATA_PILOT_GROUPS_TYPE__DATE_END: return DATE_END_EDEFAULT == null ? dateEnd != null : !DATE_END_EDEFAULT.equals(dateEnd); case TablePackage.DATA_PILOT_GROUPS_TYPE__DATE_START: return DATE_START_EDEFAULT == null ? dateStart != null : !DATE_START_EDEFAULT.equals(dateStart); case TablePackage.DATA_PILOT_GROUPS_TYPE__END: return END_EDEFAULT == null ? end != null : !END_EDEFAULT.equals(end); case TablePackage.DATA_PILOT_GROUPS_TYPE__GROUPED_BY: return isSetGroupedBy(); case TablePackage.DATA_PILOT_GROUPS_TYPE__SOURCE_FIELD_NAME: return SOURCE_FIELD_NAME_EDEFAULT == null ? sourceFieldName != null : !SOURCE_FIELD_NAME_EDEFAULT.equals(sourceFieldName); case TablePackage.DATA_PILOT_GROUPS_TYPE__START: return START_EDEFAULT == null ? start != null : !START_EDEFAULT.equals(start); case TablePackage.DATA_PILOT_GROUPS_TYPE__STEP: return isSetStep(); } 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(" (dateEnd: "); result.append(dateEnd); result.append(", dateStart: "); result.append(dateStart); result.append(", end: "); result.append(end); result.append(", groupedBy: "); if (groupedByESet) result.append(groupedBy); else result.append("<unset>"); result.append(", sourceFieldName: "); result.append(sourceFieldName); result.append(", start: "); result.append(start); result.append(", step: "); if (stepESet) result.append(step); else result.append("<unset>"); result.append(')'); return result.toString(); } } //DataPilotGroupsTypeImpl