package simplefsmtest.fsm.adapters.fsmmt.fsm;
import fr.inria.diverse.melange.adapters.EObjectAdapter;
import fsm.State;
import java.util.Collection;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
import simplefsmtest.fsm.adapters.fsmmt.FsmMTAdaptersFactory;
import simplefsmtest.fsmmt.fsm.FSM;
import simplefsmtest.fsmmt.fsm.Transition;
@SuppressWarnings("all")
public class StateAdapter extends EObjectAdapter<State> implements simplefsmtest.fsmmt.fsm.State {
private FsmMTAdaptersFactory adaptersFactory;
public StateAdapter() {
super(simplefsmtest.fsm.adapters.fsmmt.FsmMTAdaptersFactory.getInstance());
adaptersFactory = simplefsmtest.fsm.adapters.fsmmt.FsmMTAdaptersFactory.getInstance();
}
@Override
public String getName() {
return adaptee.getName();
}
@Override
public void setName(final String o) {
adaptee.setName(o);
}
@Override
public FSM getOwningFSM() {
return (FSM) adaptersFactory.createAdapter(adaptee.getOwningFSM(), eResource);
}
@Override
public void setOwningFSM(final FSM o) {
if (o != null)
adaptee.setOwningFSM(((simplefsmtest.fsm.adapters.fsmmt.fsm.FSMAdapter) o).getAdaptee());
else adaptee.setOwningFSM(null);
}
private EList<Transition> outgoingTransition;
@Override
public EList<Transition> getOutgoingTransition() {
if (outgoingTransition == null)
outgoingTransition = fr.inria.diverse.melange.adapters.EListAdapter.newInstance(adaptee.getOutgoingTransition(), adaptersFactory, eResource);
return outgoingTransition;
}
private EList<Transition> incomingTransition;
@Override
public EList<Transition> getIncomingTransition() {
if (incomingTransition == null)
incomingTransition = fr.inria.diverse.melange.adapters.EListAdapter.newInstance(adaptee.getIncomingTransition(), adaptersFactory, eResource);
return incomingTransition;
}
protected final static String NAME_EDEFAULT = null;
@Override
public EClass eClass() {
return simplefsmtest.fsmmt.fsm.FsmPackage.eINSTANCE.getState();
}
@Override
public Object eGet(final int featureID, final boolean resolve, final boolean coreType) {
switch (featureID) {
case simplefsmtest.fsmmt.fsm.FsmPackage.STATE__OWNING_FSM:
return getOwningFSM();
case simplefsmtest.fsmmt.fsm.FsmPackage.STATE__NAME:
return getName();
case simplefsmtest.fsmmt.fsm.FsmPackage.STATE__OUTGOING_TRANSITION:
return getOutgoingTransition();
case simplefsmtest.fsmmt.fsm.FsmPackage.STATE__INCOMING_TRANSITION:
return getIncomingTransition();
}
return super.eGet(featureID, resolve, coreType);
}
@Override
public boolean eIsSet(final int featureID) {
switch (featureID) {
case simplefsmtest.fsmmt.fsm.FsmPackage.STATE__OWNING_FSM:
return getOwningFSM() != null;
case simplefsmtest.fsmmt.fsm.FsmPackage.STATE__NAME:
return getName() != NAME_EDEFAULT;
case simplefsmtest.fsmmt.fsm.FsmPackage.STATE__OUTGOING_TRANSITION:
return getOutgoingTransition() != null && !getOutgoingTransition().isEmpty();
case simplefsmtest.fsmmt.fsm.FsmPackage.STATE__INCOMING_TRANSITION:
return getIncomingTransition() != null && !getIncomingTransition().isEmpty();
}
return super.eIsSet(featureID);
}
@Override
public void eSet(final int featureID, final Object newValue) {
switch (featureID) {
case simplefsmtest.fsmmt.fsm.FsmPackage.STATE__OWNING_FSM:
setOwningFSM(
(simplefsmtest.fsmmt.fsm.FSM)
newValue);
return;
case simplefsmtest.fsmmt.fsm.FsmPackage.STATE__NAME:
setName(
(java.lang.String)
newValue);
return;
case simplefsmtest.fsmmt.fsm.FsmPackage.STATE__OUTGOING_TRANSITION:
getOutgoingTransition().clear();
getOutgoingTransition().addAll((Collection) newValue);
return;
case simplefsmtest.fsmmt.fsm.FsmPackage.STATE__INCOMING_TRANSITION:
getIncomingTransition().clear();
getIncomingTransition().addAll((Collection) newValue);
return;
}
super.eSet(featureID, newValue);
}
}