/** */ package statemachine.impl; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; import statemachine.State; import statemachine.StatemachinePackage; /** * <!-- begin-user-doc --> * An implementation of the model object '<em><b>State</b></em>'. * <!-- end-user-doc --> * <p> * The following features are implemented: * <ul> * <li>{@link statemachine.impl.StateImpl#isInitial <em>Initial</em>}</li> * <li>{@link statemachine.impl.StateImpl#isTerminal <em>Terminal</em>}</li> * </ul> * </p> * * @generated */ public class StateImpl extends MinimalEObjectImpl.Container implements State { /** * The default value of the '{@link #isInitial() <em>Initial</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #isInitial() * @generated * @ordered */ protected static final boolean INITIAL_EDEFAULT = false; /** * The cached value of the '{@link #isInitial() <em>Initial</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #isInitial() * @generated * @ordered */ protected boolean initial = INITIAL_EDEFAULT; /** * The default value of the '{@link #isTerminal() <em>Terminal</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #isTerminal() * @generated * @ordered */ protected static final boolean TERMINAL_EDEFAULT = false; /** * The cached value of the '{@link #isTerminal() <em>Terminal</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #isTerminal() * @generated * @ordered */ protected boolean terminal = TERMINAL_EDEFAULT; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected StateImpl() { super(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override protected EClass eStaticClass() { return StatemachinePackage.Literals.STATE; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public boolean isInitial() { return initial; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setInitial(boolean newInitial) { boolean oldInitial = initial; initial = newInitial; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, StatemachinePackage.STATE__INITIAL, oldInitial, initial)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public boolean isTerminal() { return terminal; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setTerminal(boolean newTerminal) { boolean oldTerminal = terminal; terminal = newTerminal; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, StatemachinePackage.STATE__TERMINAL, oldTerminal, terminal)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Object eGet(int featureID, boolean resolve, boolean coreType) { switch (featureID) { case StatemachinePackage.STATE__INITIAL: return isInitial(); case StatemachinePackage.STATE__TERMINAL: return isTerminal(); } return super.eGet(featureID, resolve, coreType); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public void eSet(int featureID, Object newValue) { switch (featureID) { case StatemachinePackage.STATE__INITIAL: setInitial((Boolean)newValue); return; case StatemachinePackage.STATE__TERMINAL: setTerminal((Boolean)newValue); return; } super.eSet(featureID, newValue); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public void eUnset(int featureID) { switch (featureID) { case StatemachinePackage.STATE__INITIAL: setInitial(INITIAL_EDEFAULT); return; case StatemachinePackage.STATE__TERMINAL: setTerminal(TERMINAL_EDEFAULT); return; } super.eUnset(featureID); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public boolean eIsSet(int featureID) { switch (featureID) { case StatemachinePackage.STATE__INITIAL: return initial != INITIAL_EDEFAULT; case StatemachinePackage.STATE__TERMINAL: return terminal != TERMINAL_EDEFAULT; } 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(" (initial: "); result.append(initial); result.append(", terminal: "); result.append(terminal); result.append(')'); return result.toString(); } } //StateImpl