blob: 54db6f72baf88a4a3d043d885b983e1ff8b74f1b [file] [log] [blame]
/**
* *******************************************************************************
* Copyright (c) 2015-2021 Robert Bosch GmbH and others.
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Generated using Eclipse EMF
*
* *******************************************************************************
*/
package org.eclipse.app4mc.amalthea.model.impl;
import java.util.Collection;
import org.eclipse.app4mc.amalthea.model.AffinityConstraint;
import org.eclipse.app4mc.amalthea.model.AmaltheaPackage;
import org.eclipse.app4mc.amalthea.model.ConstraintsModel;
import org.eclipse.app4mc.amalthea.model.DataAgeConstraint;
import org.eclipse.app4mc.amalthea.model.DataCoherencyGroup;
import org.eclipse.app4mc.amalthea.model.DataStabilityGroup;
import org.eclipse.app4mc.amalthea.model.EventChain;
import org.eclipse.app4mc.amalthea.model.PhysicalSectionConstraint;
import org.eclipse.app4mc.amalthea.model.Requirement;
import org.eclipse.app4mc.amalthea.model.RunnableSequencingConstraint;
import org.eclipse.app4mc.amalthea.model.TimingConstraint;
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.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.InternalEList;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Constraints Model</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link org.eclipse.app4mc.amalthea.model.impl.ConstraintsModelImpl#getEventChains <em>Event Chains</em>}</li>
* <li>{@link org.eclipse.app4mc.amalthea.model.impl.ConstraintsModelImpl#getTimingConstraints <em>Timing Constraints</em>}</li>
* <li>{@link org.eclipse.app4mc.amalthea.model.impl.ConstraintsModelImpl#getAffinityConstraints <em>Affinity Constraints</em>}</li>
* <li>{@link org.eclipse.app4mc.amalthea.model.impl.ConstraintsModelImpl#getRunnableSequencingConstraints <em>Runnable Sequencing Constraints</em>}</li>
* <li>{@link org.eclipse.app4mc.amalthea.model.impl.ConstraintsModelImpl#getDataAgeConstraints <em>Data Age Constraints</em>}</li>
* <li>{@link org.eclipse.app4mc.amalthea.model.impl.ConstraintsModelImpl#getRequirements <em>Requirements</em>}</li>
* <li>{@link org.eclipse.app4mc.amalthea.model.impl.ConstraintsModelImpl#getDataCoherencyGroups <em>Data Coherency Groups</em>}</li>
* <li>{@link org.eclipse.app4mc.amalthea.model.impl.ConstraintsModelImpl#getDataStabilityGroups <em>Data Stability Groups</em>}</li>
* <li>{@link org.eclipse.app4mc.amalthea.model.impl.ConstraintsModelImpl#getPhysicalSectionConstraints <em>Physical Section Constraints</em>}</li>
* </ul>
*
* @generated
*/
public class ConstraintsModelImpl extends BaseObjectImpl implements ConstraintsModel {
/**
* The cached value of the '{@link #getEventChains() <em>Event Chains</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getEventChains()
* @generated
* @ordered
*/
protected EList<EventChain> eventChains;
/**
* The cached value of the '{@link #getTimingConstraints() <em>Timing Constraints</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getTimingConstraints()
* @generated
* @ordered
*/
protected EList<TimingConstraint> timingConstraints;
/**
* The cached value of the '{@link #getAffinityConstraints() <em>Affinity Constraints</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getAffinityConstraints()
* @generated
* @ordered
*/
protected EList<AffinityConstraint> affinityConstraints;
/**
* The cached value of the '{@link #getRunnableSequencingConstraints() <em>Runnable Sequencing Constraints</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getRunnableSequencingConstraints()
* @generated
* @ordered
*/
protected EList<RunnableSequencingConstraint> runnableSequencingConstraints;
/**
* The cached value of the '{@link #getDataAgeConstraints() <em>Data Age Constraints</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getDataAgeConstraints()
* @generated
* @ordered
*/
protected EList<DataAgeConstraint> dataAgeConstraints;
/**
* The cached value of the '{@link #getRequirements() <em>Requirements</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getRequirements()
* @generated
* @ordered
*/
protected EList<Requirement> requirements;
/**
* The cached value of the '{@link #getDataCoherencyGroups() <em>Data Coherency Groups</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getDataCoherencyGroups()
* @generated
* @ordered
*/
protected EList<DataCoherencyGroup> dataCoherencyGroups;
/**
* The cached value of the '{@link #getDataStabilityGroups() <em>Data Stability Groups</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getDataStabilityGroups()
* @generated
* @ordered
*/
protected EList<DataStabilityGroup> dataStabilityGroups;
/**
* The cached value of the '{@link #getPhysicalSectionConstraints() <em>Physical Section Constraints</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getPhysicalSectionConstraints()
* @generated
* @ordered
*/
protected EList<PhysicalSectionConstraint> physicalSectionConstraints;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ConstraintsModelImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass() {
return AmaltheaPackage.eINSTANCE.getConstraintsModel();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EList<EventChain> getEventChains() {
if (eventChains == null) {
eventChains = new EObjectContainmentEList<EventChain>(EventChain.class, this, AmaltheaPackage.CONSTRAINTS_MODEL__EVENT_CHAINS);
}
return eventChains;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EList<TimingConstraint> getTimingConstraints() {
if (timingConstraints == null) {
timingConstraints = new EObjectContainmentEList<TimingConstraint>(TimingConstraint.class, this, AmaltheaPackage.CONSTRAINTS_MODEL__TIMING_CONSTRAINTS);
}
return timingConstraints;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EList<AffinityConstraint> getAffinityConstraints() {
if (affinityConstraints == null) {
affinityConstraints = new EObjectContainmentEList<AffinityConstraint>(AffinityConstraint.class, this, AmaltheaPackage.CONSTRAINTS_MODEL__AFFINITY_CONSTRAINTS);
}
return affinityConstraints;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EList<RunnableSequencingConstraint> getRunnableSequencingConstraints() {
if (runnableSequencingConstraints == null) {
runnableSequencingConstraints = new EObjectContainmentEList<RunnableSequencingConstraint>(RunnableSequencingConstraint.class, this, AmaltheaPackage.CONSTRAINTS_MODEL__RUNNABLE_SEQUENCING_CONSTRAINTS);
}
return runnableSequencingConstraints;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EList<DataAgeConstraint> getDataAgeConstraints() {
if (dataAgeConstraints == null) {
dataAgeConstraints = new EObjectContainmentEList<DataAgeConstraint>(DataAgeConstraint.class, this, AmaltheaPackage.CONSTRAINTS_MODEL__DATA_AGE_CONSTRAINTS);
}
return dataAgeConstraints;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EList<Requirement> getRequirements() {
if (requirements == null) {
requirements = new EObjectContainmentEList<Requirement>(Requirement.class, this, AmaltheaPackage.CONSTRAINTS_MODEL__REQUIREMENTS);
}
return requirements;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EList<DataCoherencyGroup> getDataCoherencyGroups() {
if (dataCoherencyGroups == null) {
dataCoherencyGroups = new EObjectContainmentEList<DataCoherencyGroup>(DataCoherencyGroup.class, this, AmaltheaPackage.CONSTRAINTS_MODEL__DATA_COHERENCY_GROUPS);
}
return dataCoherencyGroups;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EList<DataStabilityGroup> getDataStabilityGroups() {
if (dataStabilityGroups == null) {
dataStabilityGroups = new EObjectContainmentEList<DataStabilityGroup>(DataStabilityGroup.class, this, AmaltheaPackage.CONSTRAINTS_MODEL__DATA_STABILITY_GROUPS);
}
return dataStabilityGroups;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EList<PhysicalSectionConstraint> getPhysicalSectionConstraints() {
if (physicalSectionConstraints == null) {
physicalSectionConstraints = new EObjectContainmentEList<PhysicalSectionConstraint>(PhysicalSectionConstraint.class, this, AmaltheaPackage.CONSTRAINTS_MODEL__PHYSICAL_SECTION_CONSTRAINTS);
}
return physicalSectionConstraints;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
case AmaltheaPackage.CONSTRAINTS_MODEL__EVENT_CHAINS:
return ((InternalEList<?>)getEventChains()).basicRemove(otherEnd, msgs);
case AmaltheaPackage.CONSTRAINTS_MODEL__TIMING_CONSTRAINTS:
return ((InternalEList<?>)getTimingConstraints()).basicRemove(otherEnd, msgs);
case AmaltheaPackage.CONSTRAINTS_MODEL__AFFINITY_CONSTRAINTS:
return ((InternalEList<?>)getAffinityConstraints()).basicRemove(otherEnd, msgs);
case AmaltheaPackage.CONSTRAINTS_MODEL__RUNNABLE_SEQUENCING_CONSTRAINTS:
return ((InternalEList<?>)getRunnableSequencingConstraints()).basicRemove(otherEnd, msgs);
case AmaltheaPackage.CONSTRAINTS_MODEL__DATA_AGE_CONSTRAINTS:
return ((InternalEList<?>)getDataAgeConstraints()).basicRemove(otherEnd, msgs);
case AmaltheaPackage.CONSTRAINTS_MODEL__REQUIREMENTS:
return ((InternalEList<?>)getRequirements()).basicRemove(otherEnd, msgs);
case AmaltheaPackage.CONSTRAINTS_MODEL__DATA_COHERENCY_GROUPS:
return ((InternalEList<?>)getDataCoherencyGroups()).basicRemove(otherEnd, msgs);
case AmaltheaPackage.CONSTRAINTS_MODEL__DATA_STABILITY_GROUPS:
return ((InternalEList<?>)getDataStabilityGroups()).basicRemove(otherEnd, msgs);
case AmaltheaPackage.CONSTRAINTS_MODEL__PHYSICAL_SECTION_CONSTRAINTS:
return ((InternalEList<?>)getPhysicalSectionConstraints()).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 AmaltheaPackage.CONSTRAINTS_MODEL__EVENT_CHAINS:
return getEventChains();
case AmaltheaPackage.CONSTRAINTS_MODEL__TIMING_CONSTRAINTS:
return getTimingConstraints();
case AmaltheaPackage.CONSTRAINTS_MODEL__AFFINITY_CONSTRAINTS:
return getAffinityConstraints();
case AmaltheaPackage.CONSTRAINTS_MODEL__RUNNABLE_SEQUENCING_CONSTRAINTS:
return getRunnableSequencingConstraints();
case AmaltheaPackage.CONSTRAINTS_MODEL__DATA_AGE_CONSTRAINTS:
return getDataAgeConstraints();
case AmaltheaPackage.CONSTRAINTS_MODEL__REQUIREMENTS:
return getRequirements();
case AmaltheaPackage.CONSTRAINTS_MODEL__DATA_COHERENCY_GROUPS:
return getDataCoherencyGroups();
case AmaltheaPackage.CONSTRAINTS_MODEL__DATA_STABILITY_GROUPS:
return getDataStabilityGroups();
case AmaltheaPackage.CONSTRAINTS_MODEL__PHYSICAL_SECTION_CONSTRAINTS:
return getPhysicalSectionConstraints();
}
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 AmaltheaPackage.CONSTRAINTS_MODEL__EVENT_CHAINS:
getEventChains().clear();
getEventChains().addAll((Collection<? extends EventChain>)newValue);
return;
case AmaltheaPackage.CONSTRAINTS_MODEL__TIMING_CONSTRAINTS:
getTimingConstraints().clear();
getTimingConstraints().addAll((Collection<? extends TimingConstraint>)newValue);
return;
case AmaltheaPackage.CONSTRAINTS_MODEL__AFFINITY_CONSTRAINTS:
getAffinityConstraints().clear();
getAffinityConstraints().addAll((Collection<? extends AffinityConstraint>)newValue);
return;
case AmaltheaPackage.CONSTRAINTS_MODEL__RUNNABLE_SEQUENCING_CONSTRAINTS:
getRunnableSequencingConstraints().clear();
getRunnableSequencingConstraints().addAll((Collection<? extends RunnableSequencingConstraint>)newValue);
return;
case AmaltheaPackage.CONSTRAINTS_MODEL__DATA_AGE_CONSTRAINTS:
getDataAgeConstraints().clear();
getDataAgeConstraints().addAll((Collection<? extends DataAgeConstraint>)newValue);
return;
case AmaltheaPackage.CONSTRAINTS_MODEL__REQUIREMENTS:
getRequirements().clear();
getRequirements().addAll((Collection<? extends Requirement>)newValue);
return;
case AmaltheaPackage.CONSTRAINTS_MODEL__DATA_COHERENCY_GROUPS:
getDataCoherencyGroups().clear();
getDataCoherencyGroups().addAll((Collection<? extends DataCoherencyGroup>)newValue);
return;
case AmaltheaPackage.CONSTRAINTS_MODEL__DATA_STABILITY_GROUPS:
getDataStabilityGroups().clear();
getDataStabilityGroups().addAll((Collection<? extends DataStabilityGroup>)newValue);
return;
case AmaltheaPackage.CONSTRAINTS_MODEL__PHYSICAL_SECTION_CONSTRAINTS:
getPhysicalSectionConstraints().clear();
getPhysicalSectionConstraints().addAll((Collection<? extends PhysicalSectionConstraint>)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID) {
switch (featureID) {
case AmaltheaPackage.CONSTRAINTS_MODEL__EVENT_CHAINS:
getEventChains().clear();
return;
case AmaltheaPackage.CONSTRAINTS_MODEL__TIMING_CONSTRAINTS:
getTimingConstraints().clear();
return;
case AmaltheaPackage.CONSTRAINTS_MODEL__AFFINITY_CONSTRAINTS:
getAffinityConstraints().clear();
return;
case AmaltheaPackage.CONSTRAINTS_MODEL__RUNNABLE_SEQUENCING_CONSTRAINTS:
getRunnableSequencingConstraints().clear();
return;
case AmaltheaPackage.CONSTRAINTS_MODEL__DATA_AGE_CONSTRAINTS:
getDataAgeConstraints().clear();
return;
case AmaltheaPackage.CONSTRAINTS_MODEL__REQUIREMENTS:
getRequirements().clear();
return;
case AmaltheaPackage.CONSTRAINTS_MODEL__DATA_COHERENCY_GROUPS:
getDataCoherencyGroups().clear();
return;
case AmaltheaPackage.CONSTRAINTS_MODEL__DATA_STABILITY_GROUPS:
getDataStabilityGroups().clear();
return;
case AmaltheaPackage.CONSTRAINTS_MODEL__PHYSICAL_SECTION_CONSTRAINTS:
getPhysicalSectionConstraints().clear();
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
case AmaltheaPackage.CONSTRAINTS_MODEL__EVENT_CHAINS:
return eventChains != null && !eventChains.isEmpty();
case AmaltheaPackage.CONSTRAINTS_MODEL__TIMING_CONSTRAINTS:
return timingConstraints != null && !timingConstraints.isEmpty();
case AmaltheaPackage.CONSTRAINTS_MODEL__AFFINITY_CONSTRAINTS:
return affinityConstraints != null && !affinityConstraints.isEmpty();
case AmaltheaPackage.CONSTRAINTS_MODEL__RUNNABLE_SEQUENCING_CONSTRAINTS:
return runnableSequencingConstraints != null && !runnableSequencingConstraints.isEmpty();
case AmaltheaPackage.CONSTRAINTS_MODEL__DATA_AGE_CONSTRAINTS:
return dataAgeConstraints != null && !dataAgeConstraints.isEmpty();
case AmaltheaPackage.CONSTRAINTS_MODEL__REQUIREMENTS:
return requirements != null && !requirements.isEmpty();
case AmaltheaPackage.CONSTRAINTS_MODEL__DATA_COHERENCY_GROUPS:
return dataCoherencyGroups != null && !dataCoherencyGroups.isEmpty();
case AmaltheaPackage.CONSTRAINTS_MODEL__DATA_STABILITY_GROUPS:
return dataStabilityGroups != null && !dataStabilityGroups.isEmpty();
case AmaltheaPackage.CONSTRAINTS_MODEL__PHYSICAL_SECTION_CONSTRAINTS:
return physicalSectionConstraints != null && !physicalSectionConstraints.isEmpty();
}
return super.eIsSet(featureID);
}
} //ConstraintsModelImpl