    001    /**
    002     * <copyright>
    003     * </copyright>
    004     *
    005     * $Id$
    006     */
    007    package com.hammurapi.eventbus.snapshot.impl;
    008
    009    import com.hammurapi.eventbus.snapshot.JoinEntry;
    010    import com.hammurapi.eventbus.snapshot.JoinInputCollector;
    011    import com.hammurapi.eventbus.snapshot.SnapshotPackage;
    012
    013    import java.util.Collection;
    014
    015    import org.eclipse.emf.common.notify.NotificationChain;
    016
    017    import org.eclipse.emf.common.util.EList;
    018
    019    import org.eclipse.emf.ecore.EClass;
    020    import org.eclipse.emf.ecore.InternalEObject;
    021
    022    import org.eclipse.emf.ecore.impl.EObjectImpl;
    023
    024    import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
    025    import org.eclipse.emf.ecore.util.EObjectContainmentEList;
    026    import org.eclipse.emf.ecore.util.InternalEList;
    027
    028    /**
    029     * <!-- begin-user-doc -->
    030     * An implementation of the model object '<em><b>Join Input Collector</b></em>'.
    031     * <!-- end-user-doc -->
    032     * <p>
    033     * The following features are implemented:
    034     * <ul>
    035     *   <li>{@link com.hammurapi.eventbus.snapshot.impl.JoinInputCollectorImpl#getIndices <em>Indices</em>}</li>
    036     *   <li>{@link com.hammurapi.eventbus.snapshot.impl.JoinInputCollectorImpl#getJoinEntries <em>Join Entries</em>}</li>
    037     * </ul>
    038     * </p>
    039     *
    040     * @generated
    041     */
    042    public class JoinInputCollectorImpl extends EObjectImpl implements JoinInputCollector {
    043            /**
    044             * The cached value of the '{@link #getIndices() <em>Indices</em>}' attribute list.
    045             * <!-- begin-user-doc -->
    046             * <!-- end-user-doc -->
    047             * @see #getIndices()
    048             * @generated
    049             * @ordered
    050             */
    051            protected EList<Integer> indices;
    052
    053            /**
    054             * The cached value of the '{@link #getJoinEntries() <em>Join Entries</em>}' containment reference list.
    055             * <!-- begin-user-doc -->
    056             * <!-- end-user-doc -->
    057             * @see #getJoinEntries()
    058             * @generated
    059             * @ordered
    060             */
    061            protected EList<JoinEntry> joinEntries;
    062
    063            /**
    064             * <!-- begin-user-doc -->
    065             * <!-- end-user-doc -->
    066             * @generated
    067             */
    068            protected JoinInputCollectorImpl() {
    069                    super();
    070            }
    071
    072            /**
    073             * <!-- begin-user-doc -->
    074             * <!-- end-user-doc -->
    075             * @generated
    076             */
    077            @Override
    078            protected EClass eStaticClass() {
    079                    return SnapshotPackage.Literals.JOIN_INPUT_COLLECTOR;
    080            }
    081
    082            /**
    083             * <!-- begin-user-doc -->
    084             * <!-- end-user-doc -->
    085             * @generated
    086             */
    087            public EList<Integer> getIndices() {
    088                    if (indices == null) {
    089                            indices = new EDataTypeUniqueEList<Integer>(Integer.class, this, SnapshotPackage.JOIN_INPUT_COLLECTOR__INDICES);
    090                    }
    091                    return indices;
    092            }
    093
    094            /**
    095             * <!-- begin-user-doc -->
    096             * <!-- end-user-doc -->
    097             * @generated
    098             */
    099            public EList<JoinEntry> getJoinEntries() {
    100                    if (joinEntries == null) {
    101                            joinEntries = new EObjectContainmentEList<JoinEntry>(JoinEntry.class, this, SnapshotPackage.JOIN_INPUT_COLLECTOR__JOIN_ENTRIES);
    102                    }
    103                    return joinEntries;
    104            }
    105
    106            /**
    107             * <!-- begin-user-doc -->
    108             * <!-- end-user-doc -->
    109             * @generated
    110             */
    111            @Override
    112            public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
    113                    switch (featureID) {
    114                            case SnapshotPackage.JOIN_INPUT_COLLECTOR__JOIN_ENTRIES:
    115                                    return ((InternalEList<?>)getJoinEntries()).basicRemove(otherEnd, msgs);
    116                    }
    117                    return super.eInverseRemove(otherEnd, featureID, msgs);
    118            }
    119
    120            /**
    121             * <!-- begin-user-doc -->
    122             * <!-- end-user-doc -->
    123             * @generated
    124             */
    125            @Override
    126            public Object eGet(int featureID, boolean resolve, boolean coreType) {
    127                    switch (featureID) {
    128                            case SnapshotPackage.JOIN_INPUT_COLLECTOR__INDICES:
    129                                    return getIndices();
    130                            case SnapshotPackage.JOIN_INPUT_COLLECTOR__JOIN_ENTRIES:
    131                                    return getJoinEntries();
    132                    }
    133                    return super.eGet(featureID, resolve, coreType);
    134            }
    135
    136            /**
    137             * <!-- begin-user-doc -->
    138             * <!-- end-user-doc -->
    139             * @generated
    140             */
    141            @SuppressWarnings("unchecked")
    142            @Override
    143            public void eSet(int featureID, Object newValue) {
    144                    switch (featureID) {
    145                            case SnapshotPackage.JOIN_INPUT_COLLECTOR__INDICES:
    146                                    getIndices().clear();
    147                                    getIndices().addAll((Collection<? extends Integer>)newValue);
    148                                    return;
    149                            case SnapshotPackage.JOIN_INPUT_COLLECTOR__JOIN_ENTRIES:
    150                                    getJoinEntries().clear();
    151                                    getJoinEntries().addAll((Collection<? extends JoinEntry>)newValue);
    152                                    return;
    153                    }
    154                    super.eSet(featureID, newValue);
    155            }
    156
    157            /**
    158             * <!-- begin-user-doc -->
    159             * <!-- end-user-doc -->
    160             * @generated
    161             */
    162            @Override
    163            public void eUnset(int featureID) {
    164                    switch (featureID) {
    165                            case SnapshotPackage.JOIN_INPUT_COLLECTOR__INDICES:
    166                                    getIndices().clear();
    167                                    return;
    168                            case SnapshotPackage.JOIN_INPUT_COLLECTOR__JOIN_ENTRIES:
    169                                    getJoinEntries().clear();
    170                                    return;
    171                    }
    172                    super.eUnset(featureID);
    173            }
    174
    175            /**
    176             * <!-- begin-user-doc -->
    177             * <!-- end-user-doc -->
    178             * @generated
    179             */
    180            @Override
    181            public boolean eIsSet(int featureID) {
    182                    switch (featureID) {
    183                            case SnapshotPackage.JOIN_INPUT_COLLECTOR__INDICES:
    184                                    return indices != null && !indices.isEmpty();
    185                            case SnapshotPackage.JOIN_INPUT_COLLECTOR__JOIN_ENTRIES:
    186                                    return joinEntries != null && !joinEntries.isEmpty();
    187                    }
    188                    return super.eIsSet(featureID);
    189            }
    190
    191            /**
    192             * <!-- begin-user-doc -->
    193             * <!-- end-user-doc -->
    194             * @generated
    195             */
    196            @Override
    197            public String toString() {
    198                    if (eIsProxy()) return super.toString();
    199
    200                    StringBuffer result = new StringBuffer(super.toString());
    201                    result.append(" (indices: ");
    202                    result.append(indices);
    203                    result.append(')');
    204                    return result.toString();
    205            }
    206
    207    } //JoinInputCollectorImpl