    001    /**
    002     * <copyright>
    003     * </copyright>
    004     *
    005     * $Id$
    006     */
    007    package com.hammurapi.eventbus.snapshot.impl;
    008
    009    import com.hammurapi.eventbus.snapshot.Event;
    010    import com.hammurapi.eventbus.snapshot.JoinEntry;
    011    import com.hammurapi.eventbus.snapshot.SnapshotPackage;
    012
    013    import java.util.Collection;
    014
    015    import org.eclipse.emf.common.notify.NotificationChain;
    016    import org.eclipse.emf.common.util.EList;
    017
    018    import org.eclipse.emf.ecore.EClass;
    019
    020    import org.eclipse.emf.ecore.InternalEObject;
    021    import org.eclipse.emf.ecore.impl.EObjectImpl;
    022
    023    import org.eclipse.emf.ecore.util.EObjectContainmentEList;
    024    import org.eclipse.emf.ecore.util.InternalEList;
    025    import org.eclipse.emf.ecore.util.EObjectResolvingEList;
    026
    027    /**
    028     * <!-- begin-user-doc -->
    029     * An implementation of the model object '<em><b>Join Entry</b></em>'.
    030     * <!-- end-user-doc -->
    031     * <p>
    032     * The following features are implemented:
    033     * <ul>
    034     *   <li>{@link com.hammurapi.eventbus.snapshot.impl.JoinEntryImpl#getEvents <em>Events</em>}</li>
    035     * </ul>
    036     * </p>
    037     *
    038     * @generated
    039     */
    040    public class JoinEntryImpl extends EObjectImpl implements JoinEntry {
    041            /**
    042             * The cached value of the '{@link #getEvents() <em>Events</em>}' reference list.
    043             * <!-- begin-user-doc -->
    044             * <!-- end-user-doc -->
    045             * @see #getEvents()
    046             * @generated
    047             * @ordered
    048             */
    049            protected EList<Event> events;
    050
    051            /**
    052             * <!-- begin-user-doc -->
    053             * <!-- end-user-doc -->
    054             * @generated
    055             */
    056            protected JoinEntryImpl() {
    057                    super();
    058            }
    059
    060            /**
    061             * <!-- begin-user-doc -->
    062             * <!-- end-user-doc -->
    063             * @generated
    064             */
    065            @Override
    066            protected EClass eStaticClass() {
    067                    return SnapshotPackage.Literals.JOIN_ENTRY;
    068            }
    069
    070            /**
    071             * <!-- begin-user-doc -->
    072             * <!-- end-user-doc -->
    073             * @generated
    074             */
    075            public EList<Event> getEvents() {
    076                    if (events == null) {
    077                            events = new EObjectResolvingEList<Event>(Event.class, this, SnapshotPackage.JOIN_ENTRY__EVENTS);
    078                    }
    079                    return events;
    080            }
    081
    082            /**
    083             * <!-- begin-user-doc -->
    084             * <!-- end-user-doc -->
    085             * @generated
    086             */
    087            @Override
    088            public Object eGet(int featureID, boolean resolve, boolean coreType) {
    089                    switch (featureID) {
    090                            case SnapshotPackage.JOIN_ENTRY__EVENTS:
    091                                    return getEvents();
    092                    }
    093                    return super.eGet(featureID, resolve, coreType);
    094            }
    095
    096            /**
    097             * <!-- begin-user-doc -->
    098             * <!-- end-user-doc -->
    099             * @generated
    100             */
    101            @SuppressWarnings("unchecked")
    102            @Override
    103            public void eSet(int featureID, Object newValue) {
    104                    switch (featureID) {
    105                            case SnapshotPackage.JOIN_ENTRY__EVENTS:
    106                                    getEvents().clear();
    107                                    getEvents().addAll((Collection<? extends Event>)newValue);
    108                                    return;
    109                    }
    110                    super.eSet(featureID, newValue);
    111            }
    112
    113            /**
    114             * <!-- begin-user-doc -->
    115             * <!-- end-user-doc -->
    116             * @generated
    117             */
    118            @Override
    119            public void eUnset(int featureID) {
    120                    switch (featureID) {
    121                            case SnapshotPackage.JOIN_ENTRY__EVENTS:
    122                                    getEvents().clear();
    123                                    return;
    124                    }
    125                    super.eUnset(featureID);
    126            }
    127
    128            /**
    129             * <!-- begin-user-doc -->
    130             * <!-- end-user-doc -->
    131             * @generated
    132             */
    133            @Override
    134            public boolean eIsSet(int featureID) {
    135                    switch (featureID) {
    136                            case SnapshotPackage.JOIN_ENTRY__EVENTS:
    137                                    return events != null && !events.isEmpty();
    138                    }
    139                    return super.eIsSet(featureID);
    140            }
    141
    142    } //JoinEntryImpl