| /** | |
| * <copyright> | |
| * </copyright> | |
| * | |
| * $Id$ | |
| */ | |
| package statemachine.util; | |
| import java.util.List; | |
| import org.eclipse.emf.ecore.EClass; | |
| import org.eclipse.emf.ecore.EObject; | |
| import statemachine.*; | |
| /** | |
| * <!-- begin-user-doc --> | |
| * The <b>Switch</b> for the model's inheritance hierarchy. | |
| * It supports the call {@link #doSwitch(EObject) doSwitch(object)} | |
| * to invoke the <code>caseXXX</code> 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. | |
| * <!-- end-user-doc --> | |
| * @see statemachine.StatemachinePackage | |
| * @generated | |
| */ | |
| public class StatemachineSwitch { | |
| /** | |
| * The cached model package | |
| * <!-- begin-user-doc --> | |
| * <!-- end-user-doc --> | |
| * @generated | |
| */ | |
| protected static StatemachinePackage modelPackage; | |
| /** | |
| * Creates an instance of the switch. | |
| * <!-- begin-user-doc --> | |
| * <!-- end-user-doc --> | |
| * @generated | |
| */ | |
| public StatemachineSwitch() { | |
| if (modelPackage == null) { | |
| modelPackage = StatemachinePackage.eINSTANCE; | |
| } | |
| } | |
| /** | |
| * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result. | |
| * <!-- begin-user-doc --> | |
| * <!-- end-user-doc --> | |
| * @return the first non-null result returned by a <code>caseXXX</code> call. | |
| * @generated | |
| */ | |
| public Object doSwitch(EObject theEObject) { | |
| return doSwitch(theEObject.eClass(), theEObject); | |
| } | |
| /** | |
| * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result. | |
| * <!-- begin-user-doc --> | |
| * <!-- end-user-doc --> | |
| * @return the first non-null result returned by a <code>caseXXX</code> call. | |
| * @generated | |
| */ | |
| protected Object doSwitch(EClass theEClass, EObject theEObject) { | |
| if (theEClass.eContainer() == modelPackage) { | |
| return doSwitch(theEClass.getClassifierID(), theEObject); | |
| } | |
| else { | |
| List eSuperTypes = theEClass.getESuperTypes(); | |
| return | |
| eSuperTypes.isEmpty() ? | |
| defaultCase(theEObject) : | |
| doSwitch((EClass)eSuperTypes.get(0), theEObject); | |
| } | |
| } | |
| /** | |
| * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result. | |
| * <!-- begin-user-doc --> | |
| * <!-- end-user-doc --> | |
| * @return the first non-null result returned by a <code>caseXXX</code> call. | |
| * @generated | |
| */ | |
| protected Object doSwitch(int classifierID, EObject theEObject) { | |
| switch (classifierID) { | |
| case StatemachinePackage.STATE: { | |
| State state = (State)theEObject; | |
| Object result = caseState(state); | |
| if (result == null) result = defaultCase(theEObject); | |
| return result; | |
| } | |
| case StatemachinePackage.TRANSITION: { | |
| Transition transition = (Transition)theEObject; | |
| Object result = caseTransition(transition); | |
| if (result == null) result = defaultCase(theEObject); | |
| return result; | |
| } | |
| case StatemachinePackage.COMPOSITE_STATE: { | |
| CompositeState compositeState = (CompositeState)theEObject; | |
| Object result = caseCompositeState(compositeState); | |
| if (result == null) result = caseState(compositeState); | |
| if (result == null) result = defaultCase(theEObject); | |
| return result; | |
| } | |
| case StatemachinePackage.REGION: { | |
| Region region = (Region)theEObject; | |
| Object result = caseRegion(region); | |
| if (result == null) result = defaultCase(theEObject); | |
| return result; | |
| } | |
| default: return defaultCase(theEObject); | |
| } | |
| } | |
| /** | |
| * Returns the result of interpreting the object as an instance of '<em>State</em>'. | |
| * <!-- begin-user-doc --> | |
| * This implementation returns null; | |
| * returning a non-null result will terminate the switch. | |
| * <!-- end-user-doc --> | |
| * @param object the target of the switch. | |
| * @return the result of interpreting the object as an instance of '<em>State</em>'. | |
| * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) | |
| * @generated | |
| */ | |
| public Object caseState(State object) { | |
| return null; | |
| } | |
| /** | |
| * Returns the result of interpreting the object as an instance of '<em>Transition</em>'. | |
| * <!-- begin-user-doc --> | |
| * This implementation returns null; | |
| * returning a non-null result will terminate the switch. | |
| * <!-- end-user-doc --> | |
| * @param object the target of the switch. | |
| * @return the result of interpreting the object as an instance of '<em>Transition</em>'. | |
| * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) | |
| * @generated | |
| */ | |
| public Object caseTransition(Transition object) { | |
| return null; | |
| } | |
| /** | |
| * Returns the result of interpreting the object as an instance of '<em>Composite State</em>'. | |
| * <!-- begin-user-doc --> | |
| * This implementation returns null; | |
| * returning a non-null result will terminate the switch. | |
| * <!-- end-user-doc --> | |
| * @param object the target of the switch. | |
| * @return the result of interpreting the object as an instance of '<em>Composite State</em>'. | |
| * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) | |
| * @generated | |
| */ | |
| public Object caseCompositeState(CompositeState object) { | |
| return null; | |
| } | |
| /** | |
| * Returns the result of interpreting the object as an instance of '<em>Region</em>'. | |
| * <!-- begin-user-doc --> | |
| * This implementation returns null; | |
| * returning a non-null result will terminate the switch. | |
| * <!-- end-user-doc --> | |
| * @param object the target of the switch. | |
| * @return the result of interpreting the object as an instance of '<em>Region</em>'. | |
| * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) | |
| * @generated | |
| */ | |
| public Object caseRegion(Region object) { | |
| return null; | |
| } | |
| /** | |
| * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. | |
| * <!-- begin-user-doc --> | |
| * This implementation returns null; | |
| * returning a non-null result will terminate the switch, but this is the last case anyway. | |
| * <!-- end-user-doc --> | |
| * @param object the target of the switch. | |
| * @return the result of interpreting the object as an instance of '<em>EObject</em>'. | |
| * @see #doSwitch(org.eclipse.emf.ecore.EObject) | |
| * @generated | |
| */ | |
| public Object defaultCase(EObject object) { | |
| return null; | |
| } | |
| } //StatemachineSwitch |