/** | |
* Copyright (c) 2018 CEA LIST. | |
* | |
* 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 | |
* | |
* Contributors: | |
* Arnault Lapitre (CEA LIST) arnault.lapitre@cea.fr | |
* - Initial API and Implementation | |
*/ | |
package org.eclipse.efm.ecore.formalml.infrastructure.impl; | |
import java.util.Collection; | |
import org.eclipse.efm.ecore.formalml.common.impl.ClassifierDefinitionImpl; | |
import org.eclipse.efm.ecore.formalml.datatype.DataType; | |
import org.eclipse.efm.ecore.formalml.infrastructure.Behavior; | |
import org.eclipse.efm.ecore.formalml.infrastructure.Buffer; | |
import org.eclipse.efm.ecore.formalml.infrastructure.Channel; | |
import org.eclipse.efm.ecore.formalml.infrastructure.DesignKind; | |
import org.eclipse.efm.ecore.formalml.infrastructure.Function; | |
import org.eclipse.efm.ecore.formalml.infrastructure.InfrastructurePackage; | |
import org.eclipse.efm.ecore.formalml.infrastructure.InstanceMachine; | |
import org.eclipse.efm.ecore.formalml.infrastructure.Machine; | |
import org.eclipse.efm.ecore.formalml.infrastructure.Port; | |
import org.eclipse.efm.ecore.formalml.infrastructure.Procedure; | |
import org.eclipse.efm.ecore.formalml.infrastructure.Routine; | |
import org.eclipse.efm.ecore.formalml.infrastructure.Signal; | |
import org.eclipse.efm.ecore.formalml.infrastructure.Variable; | |
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.util.EObjectContainmentEList; | |
import org.eclipse.emf.ecore.util.InternalEList; | |
/** | |
* <!-- begin-user-doc --> | |
* An implementation of the model object '<em><b>Machine</b></em>'. | |
* <!-- end-user-doc --> | |
* <p> | |
* The following features are implemented: | |
* </p> | |
* <ul> | |
* <li>{@link org.eclipse.efm.ecore.formalml.infrastructure.impl.MachineImpl#isInput_enabled <em>Input enabled</em>}</li> | |
* <li>{@link org.eclipse.efm.ecore.formalml.infrastructure.impl.MachineImpl#isTimed <em>Timed</em>}</li> | |
* <li>{@link org.eclipse.efm.ecore.formalml.infrastructure.impl.MachineImpl#isDense_timed <em>Dense timed</em>}</li> | |
* <li>{@link org.eclipse.efm.ecore.formalml.infrastructure.impl.MachineImpl#isDiscrete_timed <em>Discrete timed</em>}</li> | |
* <li>{@link org.eclipse.efm.ecore.formalml.infrastructure.impl.MachineImpl#isUnsafe <em>Unsafe</em>}</li> | |
* <li>{@link org.eclipse.efm.ecore.formalml.infrastructure.impl.MachineImpl#getDesign <em>Design</em>}</li> | |
* <li>{@link org.eclipse.efm.ecore.formalml.infrastructure.impl.MachineImpl#isLifeline <em>Lifeline</em>}</li> | |
* <li>{@link org.eclipse.efm.ecore.formalml.infrastructure.impl.MachineImpl#getTypedef <em>Typedef</em>}</li> | |
* <li>{@link org.eclipse.efm.ecore.formalml.infrastructure.impl.MachineImpl#getVariable <em>Variable</em>}</li> | |
* <li>{@link org.eclipse.efm.ecore.formalml.infrastructure.impl.MachineImpl#getChannel <em>Channel</em>}</li> | |
* <li>{@link org.eclipse.efm.ecore.formalml.infrastructure.impl.MachineImpl#getPort <em>Port</em>}</li> | |
* <li>{@link org.eclipse.efm.ecore.formalml.infrastructure.impl.MachineImpl#getSignal <em>Signal</em>}</li> | |
* <li>{@link org.eclipse.efm.ecore.formalml.infrastructure.impl.MachineImpl#getBuffer <em>Buffer</em>}</li> | |
* <li>{@link org.eclipse.efm.ecore.formalml.infrastructure.impl.MachineImpl#getFunction <em>Function</em>}</li> | |
* <li>{@link org.eclipse.efm.ecore.formalml.infrastructure.impl.MachineImpl#getRoutine <em>Routine</em>}</li> | |
* <li>{@link org.eclipse.efm.ecore.formalml.infrastructure.impl.MachineImpl#getProcedure <em>Procedure</em>}</li> | |
* <li>{@link org.eclipse.efm.ecore.formalml.infrastructure.impl.MachineImpl#getMachine <em>Machine</em>}</li> | |
* <li>{@link org.eclipse.efm.ecore.formalml.infrastructure.impl.MachineImpl#getInstance <em>Instance</em>}</li> | |
* <li>{@link org.eclipse.efm.ecore.formalml.infrastructure.impl.MachineImpl#getBehavior <em>Behavior</em>}</li> | |
* <li>{@link org.eclipse.efm.ecore.formalml.infrastructure.impl.MachineImpl#getMain <em>Main</em>}</li> | |
* </ul> | |
* | |
* @generated | |
*/ | |
public class MachineImpl extends ClassifierDefinitionImpl implements Machine { | |
/** | |
* The default value of the '{@link #isInput_enabled() <em>Input enabled</em>}' attribute. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @see #isInput_enabled() | |
* @generated | |
* @ordered | |
*/ | |
protected static final boolean INPUT_ENABLED_EDEFAULT = false; | |
/** | |
* The cached value of the '{@link #isInput_enabled() <em>Input enabled</em>}' attribute. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @see #isInput_enabled() | |
* @generated | |
* @ordered | |
*/ | |
protected boolean input_enabled = INPUT_ENABLED_EDEFAULT; | |
/** | |
* The default value of the '{@link #isTimed() <em>Timed</em>}' attribute. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @see #isTimed() | |
* @generated | |
* @ordered | |
*/ | |
protected static final boolean TIMED_EDEFAULT = false; | |
/** | |
* The cached value of the '{@link #isTimed() <em>Timed</em>}' attribute. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @see #isTimed() | |
* @generated | |
* @ordered | |
*/ | |
protected boolean timed = TIMED_EDEFAULT; | |
/** | |
* The default value of the '{@link #isDense_timed() <em>Dense timed</em>}' attribute. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @see #isDense_timed() | |
* @generated | |
* @ordered | |
*/ | |
protected static final boolean DENSE_TIMED_EDEFAULT = false; | |
/** | |
* The cached value of the '{@link #isDense_timed() <em>Dense timed</em>}' attribute. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @see #isDense_timed() | |
* @generated | |
* @ordered | |
*/ | |
protected boolean dense_timed = DENSE_TIMED_EDEFAULT; | |
/** | |
* The default value of the '{@link #isDiscrete_timed() <em>Discrete timed</em>}' attribute. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @see #isDiscrete_timed() | |
* @generated | |
* @ordered | |
*/ | |
protected static final boolean DISCRETE_TIMED_EDEFAULT = false; | |
/** | |
* The cached value of the '{@link #isDiscrete_timed() <em>Discrete timed</em>}' attribute. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @see #isDiscrete_timed() | |
* @generated | |
* @ordered | |
*/ | |
protected boolean discrete_timed = DISCRETE_TIMED_EDEFAULT; | |
/** | |
* The default value of the '{@link #isUnsafe() <em>Unsafe</em>}' attribute. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @see #isUnsafe() | |
* @generated | |
* @ordered | |
*/ | |
protected static final boolean UNSAFE_EDEFAULT = false; | |
/** | |
* The cached value of the '{@link #isUnsafe() <em>Unsafe</em>}' attribute. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @see #isUnsafe() | |
* @generated | |
* @ordered | |
*/ | |
protected boolean unsafe = UNSAFE_EDEFAULT; | |
/** | |
* The default value of the '{@link #getDesign() <em>Design</em>}' attribute. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @see #getDesign() | |
* @generated | |
* @ordered | |
*/ | |
protected static final DesignKind DESIGN_EDEFAULT = DesignKind.PROTOTYPE; | |
/** | |
* The cached value of the '{@link #getDesign() <em>Design</em>}' attribute. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @see #getDesign() | |
* @generated | |
* @ordered | |
*/ | |
protected DesignKind design = DESIGN_EDEFAULT; | |
/** | |
* The default value of the '{@link #isLifeline() <em>Lifeline</em>}' attribute. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @see #isLifeline() | |
* @generated | |
* @ordered | |
*/ | |
protected static final boolean LIFELINE_EDEFAULT = false; | |
/** | |
* The cached value of the '{@link #isLifeline() <em>Lifeline</em>}' attribute. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @see #isLifeline() | |
* @generated | |
* @ordered | |
*/ | |
protected boolean lifeline = LIFELINE_EDEFAULT; | |
/** | |
* The cached value of the '{@link #getTypedef() <em>Typedef</em>}' containment reference list. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @see #getTypedef() | |
* @generated | |
* @ordered | |
*/ | |
protected EList<DataType> typedef; | |
/** | |
* The cached value of the '{@link #getVariable() <em>Variable</em>}' containment reference list. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @see #getVariable() | |
* @generated | |
* @ordered | |
*/ | |
protected EList<Variable> variable; | |
/** | |
* The cached value of the '{@link #getChannel() <em>Channel</em>}' containment reference list. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @see #getChannel() | |
* @generated | |
* @ordered | |
*/ | |
protected EList<Channel> channel; | |
/** | |
* The cached value of the '{@link #getPort() <em>Port</em>}' containment reference list. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @see #getPort() | |
* @generated | |
* @ordered | |
*/ | |
protected EList<Port> port; | |
/** | |
* The cached value of the '{@link #getSignal() <em>Signal</em>}' containment reference list. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @see #getSignal() | |
* @generated | |
* @ordered | |
*/ | |
protected EList<Signal> signal; | |
/** | |
* The cached value of the '{@link #getBuffer() <em>Buffer</em>}' containment reference list. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @see #getBuffer() | |
* @generated | |
* @ordered | |
*/ | |
protected EList<Buffer> buffer; | |
/** | |
* The cached value of the '{@link #getFunction() <em>Function</em>}' containment reference list. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @see #getFunction() | |
* @generated | |
* @ordered | |
*/ | |
protected EList<Function> function; | |
/** | |
* The cached value of the '{@link #getRoutine() <em>Routine</em>}' containment reference list. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @see #getRoutine() | |
* @generated | |
* @ordered | |
*/ | |
protected EList<Routine> routine; | |
/** | |
* The cached value of the '{@link #getProcedure() <em>Procedure</em>}' containment reference list. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @see #getProcedure() | |
* @generated | |
* @ordered | |
*/ | |
protected EList<Procedure> procedure; | |
/** | |
* The cached value of the '{@link #getMachine() <em>Machine</em>}' containment reference list. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @see #getMachine() | |
* @generated | |
* @ordered | |
*/ | |
protected EList<Machine> machine; | |
/** | |
* The cached value of the '{@link #getInstance() <em>Instance</em>}' containment reference list. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @see #getInstance() | |
* @generated | |
* @ordered | |
*/ | |
protected EList<InstanceMachine> instance; | |
/** | |
* The cached value of the '{@link #getBehavior() <em>Behavior</em>}' containment reference list. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @see #getBehavior() | |
* @generated | |
* @ordered | |
*/ | |
protected EList<Behavior> behavior; | |
/** | |
* The cached value of the '{@link #getMain() <em>Main</em>}' containment reference. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @see #getMain() | |
* @generated | |
* @ordered | |
*/ | |
protected Behavior main; | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
protected MachineImpl() { | |
super(); | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
protected EClass eStaticClass() { | |
return InfrastructurePackage.Literals.MACHINE; | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public boolean isInput_enabled() { | |
return input_enabled; | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public void setInput_enabled(boolean newInput_enabled) { | |
boolean oldInput_enabled = input_enabled; | |
input_enabled = newInput_enabled; | |
if (eNotificationRequired()) | |
eNotify(new ENotificationImpl(this, Notification.SET, InfrastructurePackage.MACHINE__INPUT_ENABLED, oldInput_enabled, input_enabled)); | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public boolean isTimed() { | |
return timed; | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public void setTimed(boolean newTimed) { | |
boolean oldTimed = timed; | |
timed = newTimed; | |
if (eNotificationRequired()) | |
eNotify(new ENotificationImpl(this, Notification.SET, InfrastructurePackage.MACHINE__TIMED, oldTimed, timed)); | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public boolean isDense_timed() { | |
return dense_timed; | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public void setDense_timed(boolean newDense_timed) { | |
boolean oldDense_timed = dense_timed; | |
dense_timed = newDense_timed; | |
if (eNotificationRequired()) | |
eNotify(new ENotificationImpl(this, Notification.SET, InfrastructurePackage.MACHINE__DENSE_TIMED, oldDense_timed, dense_timed)); | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public boolean isDiscrete_timed() { | |
return discrete_timed; | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public void setDiscrete_timed(boolean newDiscrete_timed) { | |
boolean oldDiscrete_timed = discrete_timed; | |
discrete_timed = newDiscrete_timed; | |
if (eNotificationRequired()) | |
eNotify(new ENotificationImpl(this, Notification.SET, InfrastructurePackage.MACHINE__DISCRETE_TIMED, oldDiscrete_timed, discrete_timed)); | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public boolean isUnsafe() { | |
return unsafe; | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public void setUnsafe(boolean newUnsafe) { | |
boolean oldUnsafe = unsafe; | |
unsafe = newUnsafe; | |
if (eNotificationRequired()) | |
eNotify(new ENotificationImpl(this, Notification.SET, InfrastructurePackage.MACHINE__UNSAFE, oldUnsafe, unsafe)); | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public DesignKind getDesign() { | |
return design; | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public void setDesign(DesignKind newDesign) { | |
DesignKind oldDesign = design; | |
design = newDesign == null ? DESIGN_EDEFAULT : newDesign; | |
if (eNotificationRequired()) | |
eNotify(new ENotificationImpl(this, Notification.SET, InfrastructurePackage.MACHINE__DESIGN, oldDesign, design)); | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public boolean isLifeline() { | |
return lifeline; | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public void setLifeline(boolean newLifeline) { | |
boolean oldLifeline = lifeline; | |
lifeline = newLifeline; | |
if (eNotificationRequired()) | |
eNotify(new ENotificationImpl(this, Notification.SET, InfrastructurePackage.MACHINE__LIFELINE, oldLifeline, lifeline)); | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public EList<DataType> getTypedef() { | |
if (typedef == null) { | |
typedef = new EObjectContainmentEList<DataType>(DataType.class, this, InfrastructurePackage.MACHINE__TYPEDEF); | |
} | |
return typedef; | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public EList<Variable> getVariable() { | |
if (variable == null) { | |
variable = new EObjectContainmentEList<Variable>(Variable.class, this, InfrastructurePackage.MACHINE__VARIABLE); | |
} | |
return variable; | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public EList<Channel> getChannel() { | |
if (channel == null) { | |
channel = new EObjectContainmentEList<Channel>(Channel.class, this, InfrastructurePackage.MACHINE__CHANNEL); | |
} | |
return channel; | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public EList<Port> getPort() { | |
if (port == null) { | |
port = new EObjectContainmentEList<Port>(Port.class, this, InfrastructurePackage.MACHINE__PORT); | |
} | |
return port; | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public EList<Signal> getSignal() { | |
if (signal == null) { | |
signal = new EObjectContainmentEList<Signal>(Signal.class, this, InfrastructurePackage.MACHINE__SIGNAL); | |
} | |
return signal; | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public EList<Buffer> getBuffer() { | |
if (buffer == null) { | |
buffer = new EObjectContainmentEList<Buffer>(Buffer.class, this, InfrastructurePackage.MACHINE__BUFFER); | |
} | |
return buffer; | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public EList<Function> getFunction() { | |
if (function == null) { | |
function = new EObjectContainmentEList<Function>(Function.class, this, InfrastructurePackage.MACHINE__FUNCTION); | |
} | |
return function; | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public EList<Routine> getRoutine() { | |
if (routine == null) { | |
routine = new EObjectContainmentEList<Routine>(Routine.class, this, InfrastructurePackage.MACHINE__ROUTINE); | |
} | |
return routine; | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public EList<Procedure> getProcedure() { | |
if (procedure == null) { | |
procedure = new EObjectContainmentEList<Procedure>(Procedure.class, this, InfrastructurePackage.MACHINE__PROCEDURE); | |
} | |
return procedure; | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public EList<Machine> getMachine() { | |
if (machine == null) { | |
machine = new EObjectContainmentEList<Machine>(Machine.class, this, InfrastructurePackage.MACHINE__MACHINE); | |
} | |
return machine; | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public EList<InstanceMachine> getInstance() { | |
if (instance == null) { | |
instance = new EObjectContainmentEList<InstanceMachine>(InstanceMachine.class, this, InfrastructurePackage.MACHINE__INSTANCE); | |
} | |
return instance; | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public EList<Behavior> getBehavior() { | |
if (behavior == null) { | |
behavior = new EObjectContainmentEList<Behavior>(Behavior.class, this, InfrastructurePackage.MACHINE__BEHAVIOR); | |
} | |
return behavior; | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public Behavior getMain() { | |
return main; | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
public NotificationChain basicSetMain(Behavior newMain, NotificationChain msgs) { | |
Behavior oldMain = main; | |
main = newMain; | |
if (eNotificationRequired()) { | |
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, InfrastructurePackage.MACHINE__MAIN, oldMain, newMain); | |
if (msgs == null) msgs = notification; else msgs.add(notification); | |
} | |
return msgs; | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public void setMain(Behavior newMain) { | |
if (newMain != main) { | |
NotificationChain msgs = null; | |
if (main != null) | |
msgs = ((InternalEObject)main).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - InfrastructurePackage.MACHINE__MAIN, null, msgs); | |
if (newMain != null) | |
msgs = ((InternalEObject)newMain).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - InfrastructurePackage.MACHINE__MAIN, null, msgs); | |
msgs = basicSetMain(newMain, msgs); | |
if (msgs != null) msgs.dispatch(); | |
} | |
else if (eNotificationRequired()) | |
eNotify(new ENotificationImpl(this, Notification.SET, InfrastructurePackage.MACHINE__MAIN, newMain, newMain)); | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { | |
switch (featureID) { | |
case InfrastructurePackage.MACHINE__TYPEDEF: | |
return ((InternalEList<?>)getTypedef()).basicRemove(otherEnd, msgs); | |
case InfrastructurePackage.MACHINE__VARIABLE: | |
return ((InternalEList<?>)getVariable()).basicRemove(otherEnd, msgs); | |
case InfrastructurePackage.MACHINE__CHANNEL: | |
return ((InternalEList<?>)getChannel()).basicRemove(otherEnd, msgs); | |
case InfrastructurePackage.MACHINE__PORT: | |
return ((InternalEList<?>)getPort()).basicRemove(otherEnd, msgs); | |
case InfrastructurePackage.MACHINE__SIGNAL: | |
return ((InternalEList<?>)getSignal()).basicRemove(otherEnd, msgs); | |
case InfrastructurePackage.MACHINE__BUFFER: | |
return ((InternalEList<?>)getBuffer()).basicRemove(otherEnd, msgs); | |
case InfrastructurePackage.MACHINE__FUNCTION: | |
return ((InternalEList<?>)getFunction()).basicRemove(otherEnd, msgs); | |
case InfrastructurePackage.MACHINE__ROUTINE: | |
return ((InternalEList<?>)getRoutine()).basicRemove(otherEnd, msgs); | |
case InfrastructurePackage.MACHINE__PROCEDURE: | |
return ((InternalEList<?>)getProcedure()).basicRemove(otherEnd, msgs); | |
case InfrastructurePackage.MACHINE__MACHINE: | |
return ((InternalEList<?>)getMachine()).basicRemove(otherEnd, msgs); | |
case InfrastructurePackage.MACHINE__INSTANCE: | |
return ((InternalEList<?>)getInstance()).basicRemove(otherEnd, msgs); | |
case InfrastructurePackage.MACHINE__BEHAVIOR: | |
return ((InternalEList<?>)getBehavior()).basicRemove(otherEnd, msgs); | |
case InfrastructurePackage.MACHINE__MAIN: | |
return basicSetMain(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 InfrastructurePackage.MACHINE__INPUT_ENABLED: | |
return isInput_enabled(); | |
case InfrastructurePackage.MACHINE__TIMED: | |
return isTimed(); | |
case InfrastructurePackage.MACHINE__DENSE_TIMED: | |
return isDense_timed(); | |
case InfrastructurePackage.MACHINE__DISCRETE_TIMED: | |
return isDiscrete_timed(); | |
case InfrastructurePackage.MACHINE__UNSAFE: | |
return isUnsafe(); | |
case InfrastructurePackage.MACHINE__DESIGN: | |
return getDesign(); | |
case InfrastructurePackage.MACHINE__LIFELINE: | |
return isLifeline(); | |
case InfrastructurePackage.MACHINE__TYPEDEF: | |
return getTypedef(); | |
case InfrastructurePackage.MACHINE__VARIABLE: | |
return getVariable(); | |
case InfrastructurePackage.MACHINE__CHANNEL: | |
return getChannel(); | |
case InfrastructurePackage.MACHINE__PORT: | |
return getPort(); | |
case InfrastructurePackage.MACHINE__SIGNAL: | |
return getSignal(); | |
case InfrastructurePackage.MACHINE__BUFFER: | |
return getBuffer(); | |
case InfrastructurePackage.MACHINE__FUNCTION: | |
return getFunction(); | |
case InfrastructurePackage.MACHINE__ROUTINE: | |
return getRoutine(); | |
case InfrastructurePackage.MACHINE__PROCEDURE: | |
return getProcedure(); | |
case InfrastructurePackage.MACHINE__MACHINE: | |
return getMachine(); | |
case InfrastructurePackage.MACHINE__INSTANCE: | |
return getInstance(); | |
case InfrastructurePackage.MACHINE__BEHAVIOR: | |
return getBehavior(); | |
case InfrastructurePackage.MACHINE__MAIN: | |
return getMain(); | |
} | |
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 InfrastructurePackage.MACHINE__INPUT_ENABLED: | |
setInput_enabled((Boolean)newValue); | |
return; | |
case InfrastructurePackage.MACHINE__TIMED: | |
setTimed((Boolean)newValue); | |
return; | |
case InfrastructurePackage.MACHINE__DENSE_TIMED: | |
setDense_timed((Boolean)newValue); | |
return; | |
case InfrastructurePackage.MACHINE__DISCRETE_TIMED: | |
setDiscrete_timed((Boolean)newValue); | |
return; | |
case InfrastructurePackage.MACHINE__UNSAFE: | |
setUnsafe((Boolean)newValue); | |
return; | |
case InfrastructurePackage.MACHINE__DESIGN: | |
setDesign((DesignKind)newValue); | |
return; | |
case InfrastructurePackage.MACHINE__LIFELINE: | |
setLifeline((Boolean)newValue); | |
return; | |
case InfrastructurePackage.MACHINE__TYPEDEF: | |
getTypedef().clear(); | |
getTypedef().addAll((Collection<? extends DataType>)newValue); | |
return; | |
case InfrastructurePackage.MACHINE__VARIABLE: | |
getVariable().clear(); | |
getVariable().addAll((Collection<? extends Variable>)newValue); | |
return; | |
case InfrastructurePackage.MACHINE__CHANNEL: | |
getChannel().clear(); | |
getChannel().addAll((Collection<? extends Channel>)newValue); | |
return; | |
case InfrastructurePackage.MACHINE__PORT: | |
getPort().clear(); | |
getPort().addAll((Collection<? extends Port>)newValue); | |
return; | |
case InfrastructurePackage.MACHINE__SIGNAL: | |
getSignal().clear(); | |
getSignal().addAll((Collection<? extends Signal>)newValue); | |
return; | |
case InfrastructurePackage.MACHINE__BUFFER: | |
getBuffer().clear(); | |
getBuffer().addAll((Collection<? extends Buffer>)newValue); | |
return; | |
case InfrastructurePackage.MACHINE__FUNCTION: | |
getFunction().clear(); | |
getFunction().addAll((Collection<? extends Function>)newValue); | |
return; | |
case InfrastructurePackage.MACHINE__ROUTINE: | |
getRoutine().clear(); | |
getRoutine().addAll((Collection<? extends Routine>)newValue); | |
return; | |
case InfrastructurePackage.MACHINE__PROCEDURE: | |
getProcedure().clear(); | |
getProcedure().addAll((Collection<? extends Procedure>)newValue); | |
return; | |
case InfrastructurePackage.MACHINE__MACHINE: | |
getMachine().clear(); | |
getMachine().addAll((Collection<? extends Machine>)newValue); | |
return; | |
case InfrastructurePackage.MACHINE__INSTANCE: | |
getInstance().clear(); | |
getInstance().addAll((Collection<? extends InstanceMachine>)newValue); | |
return; | |
case InfrastructurePackage.MACHINE__BEHAVIOR: | |
getBehavior().clear(); | |
getBehavior().addAll((Collection<? extends Behavior>)newValue); | |
return; | |
case InfrastructurePackage.MACHINE__MAIN: | |
setMain((Behavior)newValue); | |
return; | |
} | |
super.eSet(featureID, newValue); | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public void eUnset(int featureID) { | |
switch (featureID) { | |
case InfrastructurePackage.MACHINE__INPUT_ENABLED: | |
setInput_enabled(INPUT_ENABLED_EDEFAULT); | |
return; | |
case InfrastructurePackage.MACHINE__TIMED: | |
setTimed(TIMED_EDEFAULT); | |
return; | |
case InfrastructurePackage.MACHINE__DENSE_TIMED: | |
setDense_timed(DENSE_TIMED_EDEFAULT); | |
return; | |
case InfrastructurePackage.MACHINE__DISCRETE_TIMED: | |
setDiscrete_timed(DISCRETE_TIMED_EDEFAULT); | |
return; | |
case InfrastructurePackage.MACHINE__UNSAFE: | |
setUnsafe(UNSAFE_EDEFAULT); | |
return; | |
case InfrastructurePackage.MACHINE__DESIGN: | |
setDesign(DESIGN_EDEFAULT); | |
return; | |
case InfrastructurePackage.MACHINE__LIFELINE: | |
setLifeline(LIFELINE_EDEFAULT); | |
return; | |
case InfrastructurePackage.MACHINE__TYPEDEF: | |
getTypedef().clear(); | |
return; | |
case InfrastructurePackage.MACHINE__VARIABLE: | |
getVariable().clear(); | |
return; | |
case InfrastructurePackage.MACHINE__CHANNEL: | |
getChannel().clear(); | |
return; | |
case InfrastructurePackage.MACHINE__PORT: | |
getPort().clear(); | |
return; | |
case InfrastructurePackage.MACHINE__SIGNAL: | |
getSignal().clear(); | |
return; | |
case InfrastructurePackage.MACHINE__BUFFER: | |
getBuffer().clear(); | |
return; | |
case InfrastructurePackage.MACHINE__FUNCTION: | |
getFunction().clear(); | |
return; | |
case InfrastructurePackage.MACHINE__ROUTINE: | |
getRoutine().clear(); | |
return; | |
case InfrastructurePackage.MACHINE__PROCEDURE: | |
getProcedure().clear(); | |
return; | |
case InfrastructurePackage.MACHINE__MACHINE: | |
getMachine().clear(); | |
return; | |
case InfrastructurePackage.MACHINE__INSTANCE: | |
getInstance().clear(); | |
return; | |
case InfrastructurePackage.MACHINE__BEHAVIOR: | |
getBehavior().clear(); | |
return; | |
case InfrastructurePackage.MACHINE__MAIN: | |
setMain((Behavior)null); | |
return; | |
} | |
super.eUnset(featureID); | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public boolean eIsSet(int featureID) { | |
switch (featureID) { | |
case InfrastructurePackage.MACHINE__INPUT_ENABLED: | |
return input_enabled != INPUT_ENABLED_EDEFAULT; | |
case InfrastructurePackage.MACHINE__TIMED: | |
return timed != TIMED_EDEFAULT; | |
case InfrastructurePackage.MACHINE__DENSE_TIMED: | |
return dense_timed != DENSE_TIMED_EDEFAULT; | |
case InfrastructurePackage.MACHINE__DISCRETE_TIMED: | |
return discrete_timed != DISCRETE_TIMED_EDEFAULT; | |
case InfrastructurePackage.MACHINE__UNSAFE: | |
return unsafe != UNSAFE_EDEFAULT; | |
case InfrastructurePackage.MACHINE__DESIGN: | |
return design != DESIGN_EDEFAULT; | |
case InfrastructurePackage.MACHINE__LIFELINE: | |
return lifeline != LIFELINE_EDEFAULT; | |
case InfrastructurePackage.MACHINE__TYPEDEF: | |
return typedef != null && !typedef.isEmpty(); | |
case InfrastructurePackage.MACHINE__VARIABLE: | |
return variable != null && !variable.isEmpty(); | |
case InfrastructurePackage.MACHINE__CHANNEL: | |
return channel != null && !channel.isEmpty(); | |
case InfrastructurePackage.MACHINE__PORT: | |
return port != null && !port.isEmpty(); | |
case InfrastructurePackage.MACHINE__SIGNAL: | |
return signal != null && !signal.isEmpty(); | |
case InfrastructurePackage.MACHINE__BUFFER: | |
return buffer != null && !buffer.isEmpty(); | |
case InfrastructurePackage.MACHINE__FUNCTION: | |
return function != null && !function.isEmpty(); | |
case InfrastructurePackage.MACHINE__ROUTINE: | |
return routine != null && !routine.isEmpty(); | |
case InfrastructurePackage.MACHINE__PROCEDURE: | |
return procedure != null && !procedure.isEmpty(); | |
case InfrastructurePackage.MACHINE__MACHINE: | |
return machine != null && !machine.isEmpty(); | |
case InfrastructurePackage.MACHINE__INSTANCE: | |
return instance != null && !instance.isEmpty(); | |
case InfrastructurePackage.MACHINE__BEHAVIOR: | |
return behavior != null && !behavior.isEmpty(); | |
case InfrastructurePackage.MACHINE__MAIN: | |
return main != null; | |
} | |
return super.eIsSet(featureID); | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public String toString() { | |
if (eIsProxy()) return super.toString(); | |
StringBuilder result = new StringBuilder(super.toString()); | |
result.append(" (input_enabled: "); | |
result.append(input_enabled); | |
result.append(", timed: "); | |
result.append(timed); | |
result.append(", dense_timed: "); | |
result.append(dense_timed); | |
result.append(", discrete_timed: "); | |
result.append(discrete_timed); | |
result.append(", unsafe: "); | |
result.append(unsafe); | |
result.append(", design: "); | |
result.append(design); | |
result.append(", lifeline: "); | |
result.append(lifeline); | |
result.append(')'); | |
return result.toString(); | |
} | |
} //MachineImpl |