/** * <copyright> * </copyright> * * $Id: ConferenceImpl.java,v 1.4 2011/01/05 15:06:12 glefur Exp $ */ package org.eclipse.emf.samples.conference.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.eclipse.emf.samples.conference.Conference; import org.eclipse.emf.samples.conference.ConferencePackage; import org.eclipse.emf.samples.conference.Person; import org.eclipse.emf.samples.conference.Site; import org.eclipse.emf.samples.conference.Talk; import org.eclipse.emf.samples.conference.Topic; /** * <!-- begin-user-doc --> * An implementation of the model object '<em><b>Conference</b></em>'. * <!-- end-user-doc --> * <p> * The following features are implemented: * <ul> * <li>{@link org.eclipse.emf.samples.conference.impl.ConferenceImpl#getPlace <em>Place</em>}</li> * <li>{@link org.eclipse.emf.samples.conference.impl.ConferenceImpl#getParticipants <em>Participants</em>}</li> * <li>{@link org.eclipse.emf.samples.conference.impl.ConferenceImpl#getTalks <em>Talks</em>}</li> * <li>{@link org.eclipse.emf.samples.conference.impl.ConferenceImpl#getTopics <em>Topics</em>}</li> * <li>{@link org.eclipse.emf.samples.conference.impl.ConferenceImpl#getSites <em>Sites</em>}</li> * <li>{@link org.eclipse.emf.samples.conference.impl.ConferenceImpl#getName <em>Name</em>}</li> * <li>{@link org.eclipse.emf.samples.conference.impl.ConferenceImpl#getOverview <em>Overview</em>}</li> * </ul> * </p> * * @generated */ public class ConferenceImpl extends EObjectImpl implements Conference { /** * The default value of the '{@link #getPlace() <em>Place</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getPlace() * @generated * @ordered */ protected static final String PLACE_EDEFAULT = null; /** * The cached value of the '{@link #getPlace() <em>Place</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getPlace() * @generated * @ordered */ protected String place = PLACE_EDEFAULT; /** * The cached value of the '{@link #getParticipants() <em>Participants</em>}' containment reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getParticipants() * @generated * @ordered */ protected EList<Person> participants; /** * The cached value of the '{@link #getTalks() <em>Talks</em>}' containment reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getTalks() * @generated * @ordered */ protected EList<Talk> talks; /** * The cached value of the '{@link #getTopics() <em>Topics</em>}' containment reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getTopics() * @generated * @ordered */ protected EList<Topic> topics; /** * The cached value of the '{@link #getSites() <em>Sites</em>}' containment reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getSites() * @generated * @ordered */ protected EList<Site> sites; /** * The default value of the '{@link #getName() <em>Name</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getName() * @generated * @ordered */ protected static final String NAME_EDEFAULT = null; /** * The cached value of the '{@link #getName() <em>Name</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getName() * @generated * @ordered */ protected String name = NAME_EDEFAULT; /** * The default value of the '{@link #getOverview() <em>Overview</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getOverview() * @generated * @ordered */ protected static final String OVERVIEW_EDEFAULT = null; /** * The cached value of the '{@link #getOverview() <em>Overview</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getOverview() * @generated * @ordered */ protected String overview = OVERVIEW_EDEFAULT; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected ConferenceImpl() { super(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override protected EClass eStaticClass() { return ConferencePackage.Literals.CONFERENCE; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getPlace() { return place; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setPlace(String newPlace) { String oldPlace = place; place = newPlace; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, ConferencePackage.CONFERENCE__PLACE, oldPlace, place)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EList<Person> getParticipants() { if (participants == null) { participants = new EObjectContainmentEList<Person>(Person.class, this, ConferencePackage.CONFERENCE__PARTICIPANTS); } return participants; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EList<Talk> getTalks() { if (talks == null) { talks = new EObjectContainmentEList<Talk>(Talk.class, this, ConferencePackage.CONFERENCE__TALKS); } return talks; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EList<Topic> getTopics() { if (topics == null) { topics = new EObjectContainmentEList<Topic>(Topic.class, this, ConferencePackage.CONFERENCE__TOPICS); } return topics; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EList<Site> getSites() { if (sites == null) { sites = new EObjectContainmentEList<Site>(Site.class, this, ConferencePackage.CONFERENCE__SITES); } return sites; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getName() { return name; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setName(String newName) { String oldName = name; name = newName; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, ConferencePackage.CONFERENCE__NAME, oldName, name)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getOverview() { return overview; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setOverview(String newOverview) { String oldOverview = overview; overview = newOverview; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, ConferencePackage.CONFERENCE__OVERVIEW, oldOverview, overview)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { switch (featureID) { case ConferencePackage.CONFERENCE__PARTICIPANTS: return ((InternalEList<?>)getParticipants()).basicRemove(otherEnd, msgs); case ConferencePackage.CONFERENCE__TALKS: return ((InternalEList<?>)getTalks()).basicRemove(otherEnd, msgs); case ConferencePackage.CONFERENCE__TOPICS: return ((InternalEList<?>)getTopics()).basicRemove(otherEnd, msgs); case ConferencePackage.CONFERENCE__SITES: return ((InternalEList<?>)getSites()).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 ConferencePackage.CONFERENCE__PLACE: return getPlace(); case ConferencePackage.CONFERENCE__PARTICIPANTS: return getParticipants(); case ConferencePackage.CONFERENCE__TALKS: return getTalks(); case ConferencePackage.CONFERENCE__TOPICS: return getTopics(); case ConferencePackage.CONFERENCE__SITES: return getSites(); case ConferencePackage.CONFERENCE__NAME: return getName(); case ConferencePackage.CONFERENCE__OVERVIEW: return getOverview(); } 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 ConferencePackage.CONFERENCE__PLACE: setPlace((String)newValue); return; case ConferencePackage.CONFERENCE__PARTICIPANTS: getParticipants().clear(); getParticipants().addAll((Collection<? extends Person>)newValue); return; case ConferencePackage.CONFERENCE__TALKS: getTalks().clear(); getTalks().addAll((Collection<? extends Talk>)newValue); return; case ConferencePackage.CONFERENCE__TOPICS: getTopics().clear(); getTopics().addAll((Collection<? extends Topic>)newValue); return; case ConferencePackage.CONFERENCE__SITES: getSites().clear(); getSites().addAll((Collection<? extends Site>)newValue); return; case ConferencePackage.CONFERENCE__NAME: setName((String)newValue); return; case ConferencePackage.CONFERENCE__OVERVIEW: setOverview((String)newValue); return; } super.eSet(featureID, newValue); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public void eUnset(int featureID) { switch (featureID) { case ConferencePackage.CONFERENCE__PLACE: setPlace(PLACE_EDEFAULT); return; case ConferencePackage.CONFERENCE__PARTICIPANTS: getParticipants().clear(); return; case ConferencePackage.CONFERENCE__TALKS: getTalks().clear(); return; case ConferencePackage.CONFERENCE__TOPICS: getTopics().clear(); return; case ConferencePackage.CONFERENCE__SITES: getSites().clear(); return; case ConferencePackage.CONFERENCE__NAME: setName(NAME_EDEFAULT); return; case ConferencePackage.CONFERENCE__OVERVIEW: setOverview(OVERVIEW_EDEFAULT); return; } super.eUnset(featureID); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public boolean eIsSet(int featureID) { switch (featureID) { case ConferencePackage.CONFERENCE__PLACE: return PLACE_EDEFAULT == null ? place != null : !PLACE_EDEFAULT.equals(place); case ConferencePackage.CONFERENCE__PARTICIPANTS: return participants != null && !participants.isEmpty(); case ConferencePackage.CONFERENCE__TALKS: return talks != null && !talks.isEmpty(); case ConferencePackage.CONFERENCE__TOPICS: return topics != null && !topics.isEmpty(); case ConferencePackage.CONFERENCE__SITES: return sites != null && !sites.isEmpty(); case ConferencePackage.CONFERENCE__NAME: return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); case ConferencePackage.CONFERENCE__OVERVIEW: return OVERVIEW_EDEFAULT == null ? overview != null : !OVERVIEW_EDEFAULT.equals(overview); } 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(" (place: "); result.append(place); result.append(", name: "); result.append(name); result.append(", overview: "); result.append(overview); result.append(')'); return result.toString(); } } //ConferenceImpl