/** * generated by Xtext 2.26.0 */ package com.minres.rdl.rdl.impl; import com.minres.rdl.rdl.ComponentDefinition; import com.minres.rdl.rdl.ComponentDefinitionType; import com.minres.rdl.rdl.EnumDefinition; import com.minres.rdl.rdl.Instantiation; import com.minres.rdl.rdl.PropertyAssignment; import com.minres.rdl.rdl.RdlPackage; 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.MinimalEObjectImpl; import org.eclipse.emf.ecore.util.EObjectContainmentEList; import org.eclipse.emf.ecore.util.InternalEList; /** * * An implementation of the model object 'Component Definition'. * *

* The following features are implemented: *

* * * @generated */ public class ComponentDefinitionImpl extends MinimalEObjectImpl.Container implements ComponentDefinition { /** * The default value of the '{@link #getType() Type}' attribute. * * * @see #getType() * @generated * @ordered */ protected static final ComponentDefinitionType TYPE_EDEFAULT = ComponentDefinitionType.SIGNAL; /** * The cached value of the '{@link #getType() Type}' attribute. * * * @see #getType() * @generated * @ordered */ protected ComponentDefinitionType type = TYPE_EDEFAULT; /** * The default value of the '{@link #getName() Name}' attribute. * * * @see #getName() * @generated * @ordered */ protected static final String NAME_EDEFAULT = null; /** * The cached value of the '{@link #getName() Name}' attribute. * * * @see #getName() * @generated * @ordered */ protected String name = NAME_EDEFAULT; /** * The cached value of the '{@link #getComponentDefinitions() Component Definitions}' containment reference list. * * * @see #getComponentDefinitions() * @generated * @ordered */ protected EList componentDefinitions; /** * The cached value of the '{@link #getInstantiations() Instantiations}' containment reference list. * * * @see #getInstantiations() * @generated * @ordered */ protected EList instantiations; /** * The cached value of the '{@link #getPropertyAssignments() Property Assignments}' containment reference list. * * * @see #getPropertyAssignments() * @generated * @ordered */ protected EList propertyAssignments; /** * The cached value of the '{@link #getEnumDefinitions() Enum Definitions}' containment reference list. * * * @see #getEnumDefinitions() * @generated * @ordered */ protected EList enumDefinitions; /** * * * @generated */ protected ComponentDefinitionImpl() { super(); } /** * * * @generated */ @Override protected EClass eStaticClass() { return RdlPackage.Literals.COMPONENT_DEFINITION; } /** * * * @generated */ @Override public ComponentDefinitionType getType() { return type; } /** * * * @generated */ @Override public void setType(ComponentDefinitionType newType) { ComponentDefinitionType oldType = type; type = newType == null ? TYPE_EDEFAULT : newType; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.COMPONENT_DEFINITION__TYPE, oldType, type)); } /** * * * @generated */ @Override public String getName() { return name; } /** * * * @generated */ @Override public void setName(String newName) { String oldName = name; name = newName; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.COMPONENT_DEFINITION__NAME, oldName, name)); } /** * * * @generated */ @Override public EList getComponentDefinitions() { if (componentDefinitions == null) { componentDefinitions = new EObjectContainmentEList(ComponentDefinition.class, this, RdlPackage.COMPONENT_DEFINITION__COMPONENT_DEFINITIONS); } return componentDefinitions; } /** * * * @generated */ @Override public EList getInstantiations() { if (instantiations == null) { instantiations = new EObjectContainmentEList(Instantiation.class, this, RdlPackage.COMPONENT_DEFINITION__INSTANTIATIONS); } return instantiations; } /** * * * @generated */ @Override public EList getPropertyAssignments() { if (propertyAssignments == null) { propertyAssignments = new EObjectContainmentEList(PropertyAssignment.class, this, RdlPackage.COMPONENT_DEFINITION__PROPERTY_ASSIGNMENTS); } return propertyAssignments; } /** * * * @generated */ @Override public EList getEnumDefinitions() { if (enumDefinitions == null) { enumDefinitions = new EObjectContainmentEList(EnumDefinition.class, this, RdlPackage.COMPONENT_DEFINITION__ENUM_DEFINITIONS); } return enumDefinitions; } /** * * * @generated */ @Override public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { switch (featureID) { case RdlPackage.COMPONENT_DEFINITION__COMPONENT_DEFINITIONS: return ((InternalEList)getComponentDefinitions()).basicRemove(otherEnd, msgs); case RdlPackage.COMPONENT_DEFINITION__INSTANTIATIONS: return ((InternalEList)getInstantiations()).basicRemove(otherEnd, msgs); case RdlPackage.COMPONENT_DEFINITION__PROPERTY_ASSIGNMENTS: return ((InternalEList)getPropertyAssignments()).basicRemove(otherEnd, msgs); case RdlPackage.COMPONENT_DEFINITION__ENUM_DEFINITIONS: return ((InternalEList)getEnumDefinitions()).basicRemove(otherEnd, msgs); } return super.eInverseRemove(otherEnd, featureID, msgs); } /** * * * @generated */ @Override public Object eGet(int featureID, boolean resolve, boolean coreType) { switch (featureID) { case RdlPackage.COMPONENT_DEFINITION__TYPE: return getType(); case RdlPackage.COMPONENT_DEFINITION__NAME: return getName(); case RdlPackage.COMPONENT_DEFINITION__COMPONENT_DEFINITIONS: return getComponentDefinitions(); case RdlPackage.COMPONENT_DEFINITION__INSTANTIATIONS: return getInstantiations(); case RdlPackage.COMPONENT_DEFINITION__PROPERTY_ASSIGNMENTS: return getPropertyAssignments(); case RdlPackage.COMPONENT_DEFINITION__ENUM_DEFINITIONS: return getEnumDefinitions(); } return super.eGet(featureID, resolve, coreType); } /** * * * @generated */ @SuppressWarnings("unchecked") @Override public void eSet(int featureID, Object newValue) { switch (featureID) { case RdlPackage.COMPONENT_DEFINITION__TYPE: setType((ComponentDefinitionType)newValue); return; case RdlPackage.COMPONENT_DEFINITION__NAME: setName((String)newValue); return; case RdlPackage.COMPONENT_DEFINITION__COMPONENT_DEFINITIONS: getComponentDefinitions().clear(); getComponentDefinitions().addAll((Collection)newValue); return; case RdlPackage.COMPONENT_DEFINITION__INSTANTIATIONS: getInstantiations().clear(); getInstantiations().addAll((Collection)newValue); return; case RdlPackage.COMPONENT_DEFINITION__PROPERTY_ASSIGNMENTS: getPropertyAssignments().clear(); getPropertyAssignments().addAll((Collection)newValue); return; case RdlPackage.COMPONENT_DEFINITION__ENUM_DEFINITIONS: getEnumDefinitions().clear(); getEnumDefinitions().addAll((Collection)newValue); return; } super.eSet(featureID, newValue); } /** * * * @generated */ @Override public void eUnset(int featureID) { switch (featureID) { case RdlPackage.COMPONENT_DEFINITION__TYPE: setType(TYPE_EDEFAULT); return; case RdlPackage.COMPONENT_DEFINITION__NAME: setName(NAME_EDEFAULT); return; case RdlPackage.COMPONENT_DEFINITION__COMPONENT_DEFINITIONS: getComponentDefinitions().clear(); return; case RdlPackage.COMPONENT_DEFINITION__INSTANTIATIONS: getInstantiations().clear(); return; case RdlPackage.COMPONENT_DEFINITION__PROPERTY_ASSIGNMENTS: getPropertyAssignments().clear(); return; case RdlPackage.COMPONENT_DEFINITION__ENUM_DEFINITIONS: getEnumDefinitions().clear(); return; } super.eUnset(featureID); } /** * * * @generated */ @Override public boolean eIsSet(int featureID) { switch (featureID) { case RdlPackage.COMPONENT_DEFINITION__TYPE: return type != TYPE_EDEFAULT; case RdlPackage.COMPONENT_DEFINITION__NAME: return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); case RdlPackage.COMPONENT_DEFINITION__COMPONENT_DEFINITIONS: return componentDefinitions != null && !componentDefinitions.isEmpty(); case RdlPackage.COMPONENT_DEFINITION__INSTANTIATIONS: return instantiations != null && !instantiations.isEmpty(); case RdlPackage.COMPONENT_DEFINITION__PROPERTY_ASSIGNMENTS: return propertyAssignments != null && !propertyAssignments.isEmpty(); case RdlPackage.COMPONENT_DEFINITION__ENUM_DEFINITIONS: return enumDefinitions != null && !enumDefinitions.isEmpty(); } return super.eIsSet(featureID); } /** * * * @generated */ @Override public String toString() { if (eIsProxy()) return super.toString(); StringBuilder result = new StringBuilder(super.toString()); result.append(" (type: "); result.append(type); result.append(", name: "); result.append(name); result.append(')'); return result.toString(); } } //ComponentDefinitionImpl