/** */ package hu.bme.mit.incquery.cep.metamodels.cep.impl; import hu.bme.mit.incquery.cep.metamodels.cep.CepPackage; import hu.bme.mit.incquery.cep.metamodels.cep.Event; import hu.bme.mit.incquery.cep.metamodels.cep.IEventSource; import org.eclipse.emf.common.notify.Notification; 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; /** * <!-- begin-user-doc --> * An implementation of the model object '<em><b>Event</b></em>'. * <!-- end-user-doc --> * <p> * The following features are implemented: * <ul> * <li>{@link hu.bme.mit.incquery.cep.metamodels.cep.impl.EventImpl#getType <em>Type</em>}</li> * <li>{@link hu.bme.mit.incquery.cep.metamodels.cep.impl.EventImpl#getTimestamp <em>Timestamp</em>}</li> * <li>{@link hu.bme.mit.incquery.cep.metamodels.cep.impl.EventImpl#getEventSource <em>Event Source</em>}</li> * </ul> * </p> * * @generated */ public class EventImpl extends EObjectImpl implements Event { /** * The default value of the '{@link #getType() <em>Type</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getType() * @generated * @ordered */ protected static final String TYPE_EDEFAULT = null; /** * The cached value of the '{@link #getType() <em>Type</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getType() * @generated * @ordered */ protected String type = TYPE_EDEFAULT; /** * The default value of the '{@link #getTimestamp() <em>Timestamp</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getTimestamp() * @generated * @ordered */ protected static final long TIMESTAMP_EDEFAULT = 0L; /** * The cached value of the '{@link #getTimestamp() <em>Timestamp</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getTimestamp() * @generated * @ordered */ protected long timestamp = TIMESTAMP_EDEFAULT; /** * The cached value of the '{@link #getEventSource() <em>Event Source</em>}' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getEventSource() * @generated * @ordered */ protected IEventSource eventSource; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected EventImpl() { super(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override protected EClass eStaticClass() { return CepPackage.Literals.EVENT; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getType() { return type; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setType(String newType) { String oldType = type; type = newType; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, CepPackage.EVENT__TYPE, oldType, type)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public long getTimestamp() { return timestamp; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setTimestamp(long newTimestamp) { long oldTimestamp = timestamp; timestamp = newTimestamp; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, CepPackage.EVENT__TIMESTAMP, oldTimestamp, timestamp)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public IEventSource getEventSource() { if (eventSource != null && eventSource.eIsProxy()) { InternalEObject oldEventSource = (InternalEObject)eventSource; eventSource = (IEventSource)eResolveProxy(oldEventSource); if (eventSource != oldEventSource) { if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.RESOLVE, CepPackage.EVENT__EVENT_SOURCE, oldEventSource, eventSource)); } } return eventSource; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public IEventSource basicGetEventSource() { return eventSource; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setEventSource(IEventSource newEventSource) { IEventSource oldEventSource = eventSource; eventSource = newEventSource; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, CepPackage.EVENT__EVENT_SOURCE, oldEventSource, eventSource)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Object eGet(int featureID, boolean resolve, boolean coreType) { switch (featureID) { case CepPackage.EVENT__TYPE: return getType(); case CepPackage.EVENT__TIMESTAMP: return getTimestamp(); case CepPackage.EVENT__EVENT_SOURCE: if (resolve) return getEventSource(); return basicGetEventSource(); } return super.eGet(featureID, resolve, coreType); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public void eSet(int featureID, Object newValue) { switch (featureID) { case CepPackage.EVENT__TYPE: setType((String)newValue); return; case CepPackage.EVENT__TIMESTAMP: setTimestamp((Long)newValue); return; case CepPackage.EVENT__EVENT_SOURCE: setEventSource((IEventSource)newValue); return; } super.eSet(featureID, newValue); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public void eUnset(int featureID) { switch (featureID) { case CepPackage.EVENT__TYPE: setType(TYPE_EDEFAULT); return; case CepPackage.EVENT__TIMESTAMP: setTimestamp(TIMESTAMP_EDEFAULT); return; case CepPackage.EVENT__EVENT_SOURCE: setEventSource((IEventSource)null); return; } super.eUnset(featureID); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public boolean eIsSet(int featureID) { switch (featureID) { case CepPackage.EVENT__TYPE: return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type); case CepPackage.EVENT__TIMESTAMP: return timestamp != TIMESTAMP_EDEFAULT; case CepPackage.EVENT__EVENT_SOURCE: return eventSource != null; } 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(" (type: "); result.append(type); result.append(", timestamp: "); result.append(timestamp); result.append(')'); return result.toString(); } } //EventImpl