/** * <copyright> * Copyright (c) 2008 Open Canarias and others. * 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: * A. Sanchez-Barbudo - initial API and implementation * * </copyright> * * $Id: QVTOperationalSwitch.java,v 1.4 2009/12/09 14:03:08 radvorak Exp $ */ package org.eclipse.m2m.qvt.oml.ecore.QVTOperational.util; import java.util.List; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EClassifier; import org.eclipse.emf.ecore.EModelElement; import org.eclipse.emf.ecore.ENamedElement; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EOperation; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.EParameter; import org.eclipse.emf.ecore.EStructuralFeature; import org.eclipse.emf.ecore.ETypedElement; import org.eclipse.m2m.qvt.oml.ecore.ImperativeOCL.ImperativeExpression; import org.eclipse.m2m.qvt.oml.ecore.ImperativeOCL.InstantiationExp; import org.eclipse.m2m.qvt.oml.ecore.QVTOperational.Constructor; import org.eclipse.m2m.qvt.oml.ecore.QVTOperational.ConstructorBody; import org.eclipse.m2m.qvt.oml.ecore.QVTOperational.ContextualProperty; import org.eclipse.m2m.qvt.oml.ecore.QVTOperational.EntryOperation; import org.eclipse.m2m.qvt.oml.ecore.QVTOperational.Helper; import org.eclipse.m2m.qvt.oml.ecore.QVTOperational.ImperativeCallExp; import org.eclipse.m2m.qvt.oml.ecore.QVTOperational.ImperativeOperation; import org.eclipse.m2m.qvt.oml.ecore.QVTOperational.Library; import org.eclipse.m2m.qvt.oml.ecore.QVTOperational.MappingBody; import org.eclipse.m2m.qvt.oml.ecore.QVTOperational.MappingCallExp; import org.eclipse.m2m.qvt.oml.ecore.QVTOperational.MappingOperation; import org.eclipse.m2m.qvt.oml.ecore.QVTOperational.MappingParameter; import org.eclipse.m2m.qvt.oml.ecore.QVTOperational.ModelParameter; import org.eclipse.m2m.qvt.oml.ecore.QVTOperational.ModelType; import org.eclipse.m2m.qvt.oml.ecore.QVTOperational.Module; import org.eclipse.m2m.qvt.oml.ecore.QVTOperational.ModuleImport; import org.eclipse.m2m.qvt.oml.ecore.QVTOperational.ObjectExp; import org.eclipse.m2m.qvt.oml.ecore.QVTOperational.OperationBody; import org.eclipse.m2m.qvt.oml.ecore.QVTOperational.OperationalTransformation; import org.eclipse.m2m.qvt.oml.ecore.QVTOperational.QVTOperationalPackage; import org.eclipse.m2m.qvt.oml.ecore.QVTOperational.ResolveExp; import org.eclipse.m2m.qvt.oml.ecore.QVTOperational.ResolveInExp; import org.eclipse.m2m.qvt.oml.ecore.QVTOperational.VarParameter; import org.eclipse.ocl.expressions.CallExp; import org.eclipse.ocl.expressions.FeatureCallExp; import org.eclipse.ocl.expressions.OCLExpression; import org.eclipse.ocl.expressions.OperationCallExp; import org.eclipse.ocl.expressions.Variable; import org.eclipse.ocl.utilities.ASTNode; import org.eclipse.ocl.utilities.CallingASTNode; import org.eclipse.ocl.utilities.TypedASTNode; import org.eclipse.ocl.utilities.TypedElement; import org.eclipse.ocl.utilities.Visitable; /** * <!-- 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 org.eclipse.m2m.qvt.oml.ecore.QVTOperational.QVTOperationalPackage * @generated */ public class QVTOperationalSwitch<T> { /** * The cached model package * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected static QVTOperationalPackage modelPackage; /** * Creates an instance of the switch. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public QVTOperationalSwitch() { if (modelPackage == null) { modelPackage = QVTOperationalPackage.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 T 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 T doSwitch(EClass theEClass, EObject theEObject) { if (theEClass.eContainer() == modelPackage) { return doSwitch(theEClass.getClassifierID(), theEObject); } else { List<EClass> eSuperTypes = theEClass.getESuperTypes(); return eSuperTypes.isEmpty() ? defaultCase(theEObject) : doSwitch(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 T doSwitch(int classifierID, EObject theEObject) { switch (classifierID) { case QVTOperationalPackage.CONSTRUCTOR: { Constructor constructor = (Constructor)theEObject; T result = caseConstructor(constructor); if (result == null) result = caseImperativeOperation(constructor); if (result == null) result = caseEOperation(constructor); if (result == null) result = caseETypedElement(constructor); if (result == null) result = caseENamedElement(constructor); if (result == null) result = caseEModelElement(constructor); if (result == null) result = defaultCase(theEObject); return result; } case QVTOperationalPackage.CONSTRUCTOR_BODY: { ConstructorBody constructorBody = (ConstructorBody)theEObject; T result = caseConstructorBody(constructorBody); if (result == null) result = caseOperationBody(constructorBody); if (result == null) result = caseEModelElement(constructorBody); if (result == null) result = defaultCase(theEObject); return result; } case QVTOperationalPackage.CONTEXTUAL_PROPERTY: { ContextualProperty contextualProperty = (ContextualProperty)theEObject; T result = caseContextualProperty(contextualProperty); if (result == null) result = caseEStructuralFeature(contextualProperty); if (result == null) result = caseETypedElement(contextualProperty); if (result == null) result = caseENamedElement(contextualProperty); if (result == null) result = caseEModelElement(contextualProperty); if (result == null) result = defaultCase(theEObject); return result; } case QVTOperationalPackage.ENTRY_OPERATION: { EntryOperation entryOperation = (EntryOperation)theEObject; T result = caseEntryOperation(entryOperation); if (result == null) result = caseImperativeOperation(entryOperation); if (result == null) result = caseEOperation(entryOperation); if (result == null) result = caseETypedElement(entryOperation); if (result == null) result = caseENamedElement(entryOperation); if (result == null) result = caseEModelElement(entryOperation); if (result == null) result = defaultCase(theEObject); return result; } case QVTOperationalPackage.HELPER: { Helper helper = (Helper)theEObject; T result = caseHelper(helper); if (result == null) result = caseImperativeOperation(helper); if (result == null) result = caseEOperation(helper); if (result == null) result = caseETypedElement(helper); if (result == null) result = caseENamedElement(helper); if (result == null) result = caseEModelElement(helper); if (result == null) result = defaultCase(theEObject); return result; } case QVTOperationalPackage.IMPERATIVE_CALL_EXP: { ImperativeCallExp imperativeCallExp = (ImperativeCallExp)theEObject; T result = caseImperativeCallExp(imperativeCallExp); if (result == null) result = caseEcore_OperationCallExp(imperativeCallExp); if (result == null) result = caseImperativeExpression(imperativeCallExp); if (result == null) result = caseEcore_FeatureCallExp(imperativeCallExp); if (result == null) result = caseOperationCallExp(imperativeCallExp); if (result == null) result = caseEcore_CallExp(imperativeCallExp); if (result == null) result = caseFeatureCallExp(imperativeCallExp); if (result == null) result = caseEcore_OCLExpression(imperativeCallExp); if (result == null) result = caseCallExp(imperativeCallExp); if (result == null) result = caseETypedElement(imperativeCallExp); if (result == null) result = caseOCLExpression(imperativeCallExp); if (result == null) result = caseCallingASTNode(imperativeCallExp); if (result == null) result = caseENamedElement(imperativeCallExp); if (result == null) result = caseTypedElement(imperativeCallExp); if (result == null) result = caseVisitable(imperativeCallExp); if (result == null) result = caseASTNode(imperativeCallExp); if (result == null) result = caseEModelElement(imperativeCallExp); if (result == null) result = defaultCase(theEObject); return result; } case QVTOperationalPackage.IMPERATIVE_OPERATION: { ImperativeOperation imperativeOperation = (ImperativeOperation)theEObject; T result = caseImperativeOperation(imperativeOperation); if (result == null) result = caseEOperation(imperativeOperation); if (result == null) result = caseETypedElement(imperativeOperation); if (result == null) result = caseENamedElement(imperativeOperation); if (result == null) result = caseEModelElement(imperativeOperation); if (result == null) result = defaultCase(theEObject); return result; } case QVTOperationalPackage.LIBRARY: { Library library = (Library)theEObject; T result = caseLibrary(library); if (result == null) result = caseModule(library); if (result == null) result = caseEClass(library); if (result == null) result = caseEPackage(library); if (result == null) result = caseEClassifier(library); if (result == null) result = caseENamedElement(library); if (result == null) result = caseEModelElement(library); if (result == null) result = defaultCase(theEObject); return result; } case QVTOperationalPackage.MAPPING_BODY: { MappingBody mappingBody = (MappingBody)theEObject; T result = caseMappingBody(mappingBody); if (result == null) result = caseOperationBody(mappingBody); if (result == null) result = caseEModelElement(mappingBody); if (result == null) result = defaultCase(theEObject); return result; } case QVTOperationalPackage.MAPPING_CALL_EXP: { MappingCallExp mappingCallExp = (MappingCallExp)theEObject; T result = caseMappingCallExp(mappingCallExp); if (result == null) result = caseImperativeCallExp(mappingCallExp); if (result == null) result = caseEcore_OperationCallExp(mappingCallExp); if (result == null) result = caseImperativeExpression(mappingCallExp); if (result == null) result = caseEcore_FeatureCallExp(mappingCallExp); if (result == null) result = caseOperationCallExp(mappingCallExp); if (result == null) result = caseEcore_CallExp(mappingCallExp); if (result == null) result = caseFeatureCallExp(mappingCallExp); if (result == null) result = caseEcore_OCLExpression(mappingCallExp); if (result == null) result = caseCallExp(mappingCallExp); if (result == null) result = caseETypedElement(mappingCallExp); if (result == null) result = caseOCLExpression(mappingCallExp); if (result == null) result = caseCallingASTNode(mappingCallExp); if (result == null) result = caseENamedElement(mappingCallExp); if (result == null) result = caseTypedElement(mappingCallExp); if (result == null) result = caseVisitable(mappingCallExp); if (result == null) result = caseASTNode(mappingCallExp); if (result == null) result = caseEModelElement(mappingCallExp); if (result == null) result = defaultCase(theEObject); return result; } case QVTOperationalPackage.MAPPING_OPERATION: { MappingOperation mappingOperation = (MappingOperation)theEObject; T result = caseMappingOperation(mappingOperation); if (result == null) result = caseImperativeOperation(mappingOperation); if (result == null) result = caseEOperation(mappingOperation); if (result == null) result = caseETypedElement(mappingOperation); if (result == null) result = caseENamedElement(mappingOperation); if (result == null) result = caseEModelElement(mappingOperation); if (result == null) result = defaultCase(theEObject); return result; } case QVTOperationalPackage.MAPPING_PARAMETER: { MappingParameter mappingParameter = (MappingParameter)theEObject; T result = caseMappingParameter(mappingParameter); if (result == null) result = caseVarParameter(mappingParameter); if (result == null) result = caseEcore_Variable(mappingParameter); if (result == null) result = caseEParameter(mappingParameter); if (result == null) result = caseETypedElement(mappingParameter); if (result == null) result = caseVariable(mappingParameter); if (result == null) result = caseENamedElement(mappingParameter); if (result == null) result = caseTypedElement(mappingParameter); if (result == null) result = caseVisitable(mappingParameter); if (result == null) result = caseTypedASTNode(mappingParameter); if (result == null) result = caseEModelElement(mappingParameter); if (result == null) result = caseASTNode(mappingParameter); if (result == null) result = defaultCase(theEObject); return result; } case QVTOperationalPackage.MODEL_PARAMETER: { ModelParameter modelParameter = (ModelParameter)theEObject; T result = caseModelParameter(modelParameter); if (result == null) result = caseVarParameter(modelParameter); if (result == null) result = caseEcore_Variable(modelParameter); if (result == null) result = caseEParameter(modelParameter); if (result == null) result = caseETypedElement(modelParameter); if (result == null) result = caseVariable(modelParameter); if (result == null) result = caseENamedElement(modelParameter); if (result == null) result = caseTypedElement(modelParameter); if (result == null) result = caseVisitable(modelParameter); if (result == null) result = caseTypedASTNode(modelParameter); if (result == null) result = caseEModelElement(modelParameter); if (result == null) result = caseASTNode(modelParameter); if (result == null) result = defaultCase(theEObject); return result; } case QVTOperationalPackage.MODEL_TYPE: { ModelType modelType = (ModelType)theEObject; T result = caseModelType(modelType); if (result == null) result = caseEClass(modelType); if (result == null) result = caseEClassifier(modelType); if (result == null) result = caseENamedElement(modelType); if (result == null) result = caseEModelElement(modelType); if (result == null) result = defaultCase(theEObject); return result; } case QVTOperationalPackage.MODULE: { Module module = (Module)theEObject; T result = caseModule(module); if (result == null) result = caseEClass(module); if (result == null) result = caseEPackage(module); if (result == null) result = caseEClassifier(module); if (result == null) result = caseENamedElement(module); if (result == null) result = caseEModelElement(module); if (result == null) result = defaultCase(theEObject); return result; } case QVTOperationalPackage.MODULE_IMPORT: { ModuleImport moduleImport = (ModuleImport)theEObject; T result = caseModuleImport(moduleImport); if (result == null) result = caseEModelElement(moduleImport); if (result == null) result = defaultCase(theEObject); return result; } case QVTOperationalPackage.OBJECT_EXP: { ObjectExp objectExp = (ObjectExp)theEObject; T result = caseObjectExp(objectExp); if (result == null) result = caseInstantiationExp(objectExp); if (result == null) result = caseImperativeExpression(objectExp); if (result == null) result = caseEcore_OCLExpression(objectExp); if (result == null) result = caseETypedElement(objectExp); if (result == null) result = caseOCLExpression(objectExp); if (result == null) result = caseENamedElement(objectExp); if (result == null) result = caseTypedElement(objectExp); if (result == null) result = caseVisitable(objectExp); if (result == null) result = caseASTNode(objectExp); if (result == null) result = caseEModelElement(objectExp); if (result == null) result = defaultCase(theEObject); return result; } case QVTOperationalPackage.OPERATION_BODY: { OperationBody operationBody = (OperationBody)theEObject; T result = caseOperationBody(operationBody); if (result == null) result = caseEModelElement(operationBody); if (result == null) result = defaultCase(theEObject); return result; } case QVTOperationalPackage.OPERATIONAL_TRANSFORMATION: { OperationalTransformation operationalTransformation = (OperationalTransformation)theEObject; T result = caseOperationalTransformation(operationalTransformation); if (result == null) result = caseModule(operationalTransformation); if (result == null) result = caseEClass(operationalTransformation); if (result == null) result = caseEPackage(operationalTransformation); if (result == null) result = caseEClassifier(operationalTransformation); if (result == null) result = caseENamedElement(operationalTransformation); if (result == null) result = caseEModelElement(operationalTransformation); if (result == null) result = defaultCase(theEObject); return result; } case QVTOperationalPackage.RESOLVE_EXP: { ResolveExp resolveExp = (ResolveExp)theEObject; T result = caseResolveExp(resolveExp); if (result == null) result = caseEcore_CallExp(resolveExp); if (result == null) result = caseImperativeExpression(resolveExp); if (result == null) result = caseEcore_OCLExpression(resolveExp); if (result == null) result = caseCallExp(resolveExp); if (result == null) result = caseETypedElement(resolveExp); if (result == null) result = caseOCLExpression(resolveExp); if (result == null) result = caseCallingASTNode(resolveExp); if (result == null) result = caseENamedElement(resolveExp); if (result == null) result = caseTypedElement(resolveExp); if (result == null) result = caseVisitable(resolveExp); if (result == null) result = caseASTNode(resolveExp); if (result == null) result = caseEModelElement(resolveExp); if (result == null) result = defaultCase(theEObject); return result; } case QVTOperationalPackage.RESOLVE_IN_EXP: { ResolveInExp resolveInExp = (ResolveInExp)theEObject; T result = caseResolveInExp(resolveInExp); if (result == null) result = caseResolveExp(resolveInExp); if (result == null) result = caseEcore_CallExp(resolveInExp); if (result == null) result = caseImperativeExpression(resolveInExp); if (result == null) result = caseEcore_OCLExpression(resolveInExp); if (result == null) result = caseCallExp(resolveInExp); if (result == null) result = caseETypedElement(resolveInExp); if (result == null) result = caseOCLExpression(resolveInExp); if (result == null) result = caseCallingASTNode(resolveInExp); if (result == null) result = caseENamedElement(resolveInExp); if (result == null) result = caseTypedElement(resolveInExp); if (result == null) result = caseVisitable(resolveInExp); if (result == null) result = caseASTNode(resolveInExp); if (result == null) result = caseEModelElement(resolveInExp); if (result == null) result = defaultCase(theEObject); return result; } case QVTOperationalPackage.VAR_PARAMETER: { VarParameter varParameter = (VarParameter)theEObject; T result = caseVarParameter(varParameter); if (result == null) result = caseEcore_Variable(varParameter); if (result == null) result = caseEParameter(varParameter); if (result == null) result = caseETypedElement(varParameter); if (result == null) result = caseVariable(varParameter); if (result == null) result = caseENamedElement(varParameter); if (result == null) result = caseTypedElement(varParameter); if (result == null) result = caseVisitable(varParameter); if (result == null) result = caseTypedASTNode(varParameter); if (result == null) result = caseEModelElement(varParameter); if (result == null) result = caseASTNode(varParameter); if (result == null) result = defaultCase(theEObject); return result; } default: return defaultCase(theEObject); } } /** * Returns the result of interpreting the object as an instance of '<em>Constructor</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>Constructor</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseConstructor(Constructor object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Constructor Body</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>Constructor Body</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseConstructorBody(ConstructorBody object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Contextual Property</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>Contextual Property</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseContextualProperty(ContextualProperty object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Entry Operation</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>Entry Operation</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseEntryOperation(EntryOperation object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Helper</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>Helper</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseHelper(Helper object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Imperative Call Exp</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>Imperative Call Exp</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseImperativeCallExp(ImperativeCallExp object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Imperative Operation</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>Imperative Operation</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseImperativeOperation(ImperativeOperation object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Library</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>Library</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseLibrary(Library object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Mapping Body</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>Mapping Body</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseMappingBody(MappingBody object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Mapping Call Exp</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>Mapping Call Exp</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseMappingCallExp(MappingCallExp object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Mapping Operation</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>Mapping Operation</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseMappingOperation(MappingOperation object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Mapping Parameter</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>Mapping Parameter</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseMappingParameter(MappingParameter object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Model Parameter</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>Model Parameter</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseModelParameter(ModelParameter object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Model Type</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>Model Type</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseModelType(ModelType object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Module</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>Module</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseModule(Module object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Module Import</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>Module Import</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseModuleImport(ModuleImport object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Object Exp</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>Object Exp</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseObjectExp(ObjectExp object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Operation Body</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>Operation Body</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseOperationBody(OperationBody object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Operational Transformation</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>Operational Transformation</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseOperationalTransformation(OperationalTransformation object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Resolve Exp</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>Resolve Exp</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseResolveExp(ResolveExp object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Resolve In Exp</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>Resolve In Exp</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseResolveInExp(ResolveInExp object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Var Parameter</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>Var Parameter</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseVarParameter(VarParameter object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>EModel Element</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>EModel Element</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseEModelElement(EModelElement object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>ENamed Element</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>ENamed Element</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseENamedElement(ENamedElement object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>ETyped Element</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>ETyped Element</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseETypedElement(ETypedElement object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>EOperation</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>EOperation</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseEOperation(EOperation object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>EStructural Feature</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>EStructural Feature</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseEStructuralFeature(EStructuralFeature object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Typed Element</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>Typed Element</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public <C> T caseTypedElement(TypedElement<C> object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Visitable</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>Visitable</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseVisitable(Visitable object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>AST Node</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>AST Node</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseASTNode(ASTNode object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>OCL Expression</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>OCL Expression</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public <C> T caseOCLExpression(OCLExpression<C> object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>OCL Expression</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>OCL Expression</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseEcore_OCLExpression(org.eclipse.ocl.ecore.OCLExpression object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Calling AST Node</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>Calling AST Node</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseCallingASTNode(CallingASTNode object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Call Exp</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>Call Exp</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public <C> T caseCallExp(CallExp<C> object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Call Exp</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>Call Exp</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseEcore_CallExp(org.eclipse.ocl.ecore.CallExp object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Feature Call Exp</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>Feature Call Exp</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public <C> T caseFeatureCallExp(FeatureCallExp<C> object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Feature Call Exp</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>Feature Call Exp</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseEcore_FeatureCallExp(org.eclipse.ocl.ecore.FeatureCallExp object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Operation Call Exp</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>Operation Call Exp</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public <C, O> T caseOperationCallExp(OperationCallExp<C, O> object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Operation Call Exp</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>Operation Call Exp</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseEcore_OperationCallExp(org.eclipse.ocl.ecore.OperationCallExp object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>EClassifier</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>EClassifier</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseEClassifier(EClassifier object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>EClass</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>EClass</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseEClass(EClass object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>EPackage</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>EPackage</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseEPackage(EPackage object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Typed AST Node</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>Typed AST Node</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseTypedASTNode(TypedASTNode object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Variable</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>Variable</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public <C, PM> T caseVariable(Variable<C, PM> object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Variable</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>Variable</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseEcore_Variable(org.eclipse.ocl.ecore.Variable object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>EParameter</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>EParameter</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseEParameter(EParameter object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Imperative Expression</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>Imperative Expression</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseImperativeExpression(ImperativeExpression object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Instantiation Exp</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>Instantiation Exp</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseInstantiationExp(InstantiationExp 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 T defaultCase(EObject object) { return null; } } //QVTOperationalSwitch