/** * generated by Xtext 2.10.0 */ package com.arm.cmsis.pack.debugseq.debugSeq.impl; import com.arm.cmsis.pack.debugseq.debugSeq.CodeBlock; import com.arm.cmsis.pack.debugseq.debugSeq.DebugSeqPackage; import com.arm.cmsis.pack.debugseq.debugSeq.Sequence; 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; /** * <!-- begin-user-doc --> * An implementation of the model object '<em><b>Sequence</b></em>'. * <!-- end-user-doc --> * <p> * The following features are implemented: * </p> * <ul> * <li>{@link com.arm.cmsis.pack.debugseq.debugSeq.impl.SequenceImpl#getName <em>Name</em>}</li> * <li>{@link com.arm.cmsis.pack.debugseq.debugSeq.impl.SequenceImpl#getDisable <em>Disable</em>}</li> * <li>{@link com.arm.cmsis.pack.debugseq.debugSeq.impl.SequenceImpl#getPname <em>Pname</em>}</li> * <li>{@link com.arm.cmsis.pack.debugseq.debugSeq.impl.SequenceImpl#getInfo <em>Info</em>}</li> * <li>{@link com.arm.cmsis.pack.debugseq.debugSeq.impl.SequenceImpl#getCodeblocks <em>Codeblocks</em>}</li> * </ul> * * @generated */ public class SequenceImpl extends MinimalEObjectImpl.Container implements Sequence { /** * 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 #getDisable() <em>Disable</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getDisable() * @generated * @ordered */ protected static final long DISABLE_EDEFAULT = 0L; /** * The cached value of the '{@link #getDisable() <em>Disable</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getDisable() * @generated * @ordered */ protected long disable = DISABLE_EDEFAULT; /** * The default value of the '{@link #getPname() <em>Pname</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getPname() * @generated * @ordered */ protected static final String PNAME_EDEFAULT = null; /** * The cached value of the '{@link #getPname() <em>Pname</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getPname() * @generated * @ordered */ protected String pname = PNAME_EDEFAULT; /** * The default value of the '{@link #getInfo() <em>Info</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getInfo() * @generated * @ordered */ protected static final String INFO_EDEFAULT = null; /** * The cached value of the '{@link #getInfo() <em>Info</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getInfo() * @generated * @ordered */ protected String info = INFO_EDEFAULT; /** * The cached value of the '{@link #getCodeblocks() <em>Codeblocks</em>}' containment reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getCodeblocks() * @generated * @ordered */ protected EList<CodeBlock> codeblocks; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected SequenceImpl() { super(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override protected EClass eStaticClass() { return DebugSeqPackage.Literals.SEQUENCE; } /** * <!-- 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, DebugSeqPackage.SEQUENCE__NAME, oldName, name)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public long getDisable() { return disable; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setDisable(long newDisable) { long oldDisable = disable; disable = newDisable; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, DebugSeqPackage.SEQUENCE__DISABLE, oldDisable, disable)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getPname() { return pname; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setPname(String newPname) { String oldPname = pname; pname = newPname; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, DebugSeqPackage.SEQUENCE__PNAME, oldPname, pname)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getInfo() { return info; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setInfo(String newInfo) { String oldInfo = info; info = newInfo; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, DebugSeqPackage.SEQUENCE__INFO, oldInfo, info)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EList<CodeBlock> getCodeblocks() { if (codeblocks == null) { codeblocks = new EObjectContainmentEList<CodeBlock>(CodeBlock.class, this, DebugSeqPackage.SEQUENCE__CODEBLOCKS); } return codeblocks; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { switch (featureID) { case DebugSeqPackage.SEQUENCE__CODEBLOCKS: return ((InternalEList<?>)getCodeblocks()).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 DebugSeqPackage.SEQUENCE__NAME: return getName(); case DebugSeqPackage.SEQUENCE__DISABLE: return getDisable(); case DebugSeqPackage.SEQUENCE__PNAME: return getPname(); case DebugSeqPackage.SEQUENCE__INFO: return getInfo(); case DebugSeqPackage.SEQUENCE__CODEBLOCKS: return getCodeblocks(); } 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 DebugSeqPackage.SEQUENCE__NAME: setName((String)newValue); return; case DebugSeqPackage.SEQUENCE__DISABLE: setDisable((Long)newValue); return; case DebugSeqPackage.SEQUENCE__PNAME: setPname((String)newValue); return; case DebugSeqPackage.SEQUENCE__INFO: setInfo((String)newValue); return; case DebugSeqPackage.SEQUENCE__CODEBLOCKS: getCodeblocks().clear(); getCodeblocks().addAll((Collection<? extends CodeBlock>)newValue); return; } super.eSet(featureID, newValue); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public void eUnset(int featureID) { switch (featureID) { case DebugSeqPackage.SEQUENCE__NAME: setName(NAME_EDEFAULT); return; case DebugSeqPackage.SEQUENCE__DISABLE: setDisable(DISABLE_EDEFAULT); return; case DebugSeqPackage.SEQUENCE__PNAME: setPname(PNAME_EDEFAULT); return; case DebugSeqPackage.SEQUENCE__INFO: setInfo(INFO_EDEFAULT); return; case DebugSeqPackage.SEQUENCE__CODEBLOCKS: getCodeblocks().clear(); return; } super.eUnset(featureID); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public boolean eIsSet(int featureID) { switch (featureID) { case DebugSeqPackage.SEQUENCE__NAME: return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); case DebugSeqPackage.SEQUENCE__DISABLE: return disable != DISABLE_EDEFAULT; case DebugSeqPackage.SEQUENCE__PNAME: return PNAME_EDEFAULT == null ? pname != null : !PNAME_EDEFAULT.equals(pname); case DebugSeqPackage.SEQUENCE__INFO: return INFO_EDEFAULT == null ? info != null : !INFO_EDEFAULT.equals(info); case DebugSeqPackage.SEQUENCE__CODEBLOCKS: return codeblocks != null && !codeblocks.isEmpty(); } 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(" (name: "); result.append(name); result.append(", disable: "); result.append(disable); result.append(", pname: "); result.append(pname); result.append(", info: "); result.append(info); result.append(')'); return result.toString(); } } //SequenceImpl