/** */ package modes3.util; import modes3.*; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.util.Switch; /** * * The Switch for the model's inheritance hierarchy. * It supports the call {@link #doSwitch(EObject) doSwitch(object)} * to invoke the caseXXX method for each class of the model, * starting with the actual class of the object * and proceeding up the inheritance hierarchy * until a non-null result is returned, * which is the result of the switch. * * @see modes3.Modes3Package * @generated */ public class Modes3Switch extends Switch { /** * The cached model package * * * @generated */ protected static Modes3Package modelPackage; /** * Creates an instance of the switch. * * * @generated */ public Modes3Switch() { if (modelPackage == null) { modelPackage = Modes3Package.eINSTANCE; } } /** * Checks whether this is a switch for the given package. * * * @param ePackage the package in question. * @return whether this is a switch for the given package. * @generated */ @Override protected boolean isSwitchFor(EPackage ePackage) { return ePackage == modelPackage; } /** * Calls caseXXX for each class of the model until one returns a non null result; it yields that result. * * * @return the first non-null result returned by a caseXXX call. * @generated */ @Override protected T doSwitch(int classifierID, EObject theEObject) { switch (classifierID) { case Modes3Package.SEGMENT: { Segment segment = (Segment)theEObject; T result = caseSegment(segment); if (result == null) result = defaultCase(theEObject); return result; } case Modes3Package.MODES3_MODEL_ROOT: { Modes3ModelRoot modes3ModelRoot = (Modes3ModelRoot)theEObject; T result = caseModes3ModelRoot(modes3ModelRoot); if (result == null) result = defaultCase(theEObject); return result; } case Modes3Package.TURNOUT: { Turnout turnout = (Turnout)theEObject; T result = caseTurnout(turnout); if (result == null) result = caseSegment(turnout); if (result == null) result = defaultCase(theEObject); return result; } case Modes3Package.TRAIN: { Train train = (Train)theEObject; T result = caseTrain(train); if (result == null) result = defaultCase(theEObject); return result; } case Modes3Package.SIMPLE_SEGMENT: { SimpleSegment simpleSegment = (SimpleSegment)theEObject; T result = caseSimpleSegment(simpleSegment); if (result == null) result = caseSegment(simpleSegment); if (result == null) result = defaultCase(theEObject); return result; } default: return defaultCase(theEObject); } } /** * Returns the result of interpreting the object as an instance of 'Segment'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. * @return the result of interpreting the object as an instance of 'Segment'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseSegment(Segment object) { return null; } /** * Returns the result of interpreting the object as an instance of 'Model Root'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. * @return the result of interpreting the object as an instance of 'Model Root'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseModes3ModelRoot(Modes3ModelRoot object) { return null; } /** * Returns the result of interpreting the object as an instance of 'Turnout'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. * @return the result of interpreting the object as an instance of 'Turnout'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseTurnout(Turnout object) { return null; } /** * Returns the result of interpreting the object as an instance of 'Train'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. * @return the result of interpreting the object as an instance of 'Train'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseTrain(Train object) { return null; } /** * Returns the result of interpreting the object as an instance of 'Simple Segment'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. * @return the result of interpreting the object as an instance of 'Simple Segment'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseSimpleSegment(SimpleSegment object) { return null; } /** * Returns the result of interpreting the object as an instance of 'EObject'. * * This implementation returns null; * returning a non-null result will terminate the switch, but this is the last case anyway. * * @param object the target of the switch. * @return the result of interpreting the object as an instance of 'EObject'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) * @generated */ @Override public T defaultCase(EObject object) { return null; } } //Modes3Switch