blob: f2c2dcf0decd95be83a86039b62dee65ccfc83b5 [file] [log] [blame]
/**
* *******************************************************************************
* Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
* 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
*
* Generated using Eclipse EMF
*
* *******************************************************************************
*/
package org.eclipse.app4mc.amalthea.generator.configuration.impl;
import org.eclipse.app4mc.amalthea.generator.configuration.ActivationProperties;
import org.eclipse.app4mc.amalthea.generator.configuration.PeriodicActivation;
import org.eclipse.app4mc.amalthea.generator.configuration.PeriodicTriangleShift;
import org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage;
import org.eclipse.app4mc.amalthea.generator.configuration.SporadicActivation;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
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.MinimalEObjectImpl;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Activation Properties</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.ActivationPropertiesImpl#getPeriodicActivation <em>Periodic Activation</em>}</li>
* <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.ActivationPropertiesImpl#getPeriodicTriangleShift <em>Periodic Triangle Shift</em>}</li>
* <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.ActivationPropertiesImpl#getSporadicActivation <em>Sporadic Activation</em>}</li>
* </ul>
*
* @generated
*/
public class ActivationPropertiesImpl extends MinimalEObjectImpl.Container implements ActivationProperties {
/**
* The cached value of the '{@link #getPeriodicActivation() <em>Periodic Activation</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getPeriodicActivation()
* @generated
* @ordered
*/
protected PeriodicActivation periodicActivation;
/**
* The cached value of the '{@link #getPeriodicTriangleShift() <em>Periodic Triangle Shift</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getPeriodicTriangleShift()
* @generated
* @ordered
*/
protected PeriodicTriangleShift periodicTriangleShift;
/**
* The cached value of the '{@link #getSporadicActivation() <em>Sporadic Activation</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getSporadicActivation()
* @generated
* @ordered
*/
protected SporadicActivation sporadicActivation;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ActivationPropertiesImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass() {
return RTMGCPackage.Literals.ACTIVATION_PROPERTIES;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public PeriodicActivation getPeriodicActivation() {
return periodicActivation;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetPeriodicActivation(PeriodicActivation newPeriodicActivation, NotificationChain msgs) {
PeriodicActivation oldPeriodicActivation = periodicActivation;
periodicActivation = newPeriodicActivation;
if (eNotificationRequired()) {
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_ACTIVATION, oldPeriodicActivation, newPeriodicActivation);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setPeriodicActivation(PeriodicActivation newPeriodicActivation) {
if (newPeriodicActivation != periodicActivation) {
NotificationChain msgs = null;
if (periodicActivation != null)
msgs = ((InternalEObject)periodicActivation).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_ACTIVATION, null, msgs);
if (newPeriodicActivation != null)
msgs = ((InternalEObject)newPeriodicActivation).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_ACTIVATION, null, msgs);
msgs = basicSetPeriodicActivation(newPeriodicActivation, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_ACTIVATION, newPeriodicActivation, newPeriodicActivation));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public PeriodicTriangleShift getPeriodicTriangleShift() {
return periodicTriangleShift;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetPeriodicTriangleShift(PeriodicTriangleShift newPeriodicTriangleShift, NotificationChain msgs) {
PeriodicTriangleShift oldPeriodicTriangleShift = periodicTriangleShift;
periodicTriangleShift = newPeriodicTriangleShift;
if (eNotificationRequired()) {
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_TRIANGLE_SHIFT, oldPeriodicTriangleShift, newPeriodicTriangleShift);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setPeriodicTriangleShift(PeriodicTriangleShift newPeriodicTriangleShift) {
if (newPeriodicTriangleShift != periodicTriangleShift) {
NotificationChain msgs = null;
if (periodicTriangleShift != null)
msgs = ((InternalEObject)periodicTriangleShift).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_TRIANGLE_SHIFT, null, msgs);
if (newPeriodicTriangleShift != null)
msgs = ((InternalEObject)newPeriodicTriangleShift).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_TRIANGLE_SHIFT, null, msgs);
msgs = basicSetPeriodicTriangleShift(newPeriodicTriangleShift, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_TRIANGLE_SHIFT, newPeriodicTriangleShift, newPeriodicTriangleShift));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public SporadicActivation getSporadicActivation() {
return sporadicActivation;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetSporadicActivation(SporadicActivation newSporadicActivation, NotificationChain msgs) {
SporadicActivation oldSporadicActivation = sporadicActivation;
sporadicActivation = newSporadicActivation;
if (eNotificationRequired()) {
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RTMGCPackage.ACTIVATION_PROPERTIES__SPORADIC_ACTIVATION, oldSporadicActivation, newSporadicActivation);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setSporadicActivation(SporadicActivation newSporadicActivation) {
if (newSporadicActivation != sporadicActivation) {
NotificationChain msgs = null;
if (sporadicActivation != null)
msgs = ((InternalEObject)sporadicActivation).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.ACTIVATION_PROPERTIES__SPORADIC_ACTIVATION, null, msgs);
if (newSporadicActivation != null)
msgs = ((InternalEObject)newSporadicActivation).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.ACTIVATION_PROPERTIES__SPORADIC_ACTIVATION, null, msgs);
msgs = basicSetSporadicActivation(newSporadicActivation, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.ACTIVATION_PROPERTIES__SPORADIC_ACTIVATION, newSporadicActivation, newSporadicActivation));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
case RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_ACTIVATION:
return basicSetPeriodicActivation(null, msgs);
case RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_TRIANGLE_SHIFT:
return basicSetPeriodicTriangleShift(null, msgs);
case RTMGCPackage.ACTIVATION_PROPERTIES__SPORADIC_ACTIVATION:
return basicSetSporadicActivation(null, 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 RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_ACTIVATION:
return getPeriodicActivation();
case RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_TRIANGLE_SHIFT:
return getPeriodicTriangleShift();
case RTMGCPackage.ACTIVATION_PROPERTIES__SPORADIC_ACTIVATION:
return getSporadicActivation();
}
return super.eGet(featureID, resolve, coreType);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
case RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_ACTIVATION:
setPeriodicActivation((PeriodicActivation)newValue);
return;
case RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_TRIANGLE_SHIFT:
setPeriodicTriangleShift((PeriodicTriangleShift)newValue);
return;
case RTMGCPackage.ACTIVATION_PROPERTIES__SPORADIC_ACTIVATION:
setSporadicActivation((SporadicActivation)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID) {
switch (featureID) {
case RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_ACTIVATION:
setPeriodicActivation((PeriodicActivation)null);
return;
case RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_TRIANGLE_SHIFT:
setPeriodicTriangleShift((PeriodicTriangleShift)null);
return;
case RTMGCPackage.ACTIVATION_PROPERTIES__SPORADIC_ACTIVATION:
setSporadicActivation((SporadicActivation)null);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
case RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_ACTIVATION:
return periodicActivation != null;
case RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_TRIANGLE_SHIFT:
return periodicTriangleShift != null;
case RTMGCPackage.ACTIVATION_PROPERTIES__SPORADIC_ACTIVATION:
return sporadicActivation != null;
}
return super.eIsSet(featureID);
}
} //ActivationPropertiesImpl