/******************************************************************************* * Copyright (c) 2013-2016 Jean-Marie Gauthier, University of Franche-Comte, and Samares-Engineering * 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: * Jean-Marie Gauthier, University of Franche-Comte - initial API and implementation * Jean-Marie Gauthier, Samares-Engineering - Neon implementation *******************************************************************************/ /** */ package edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.util; import edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.Algorithm; import edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.AlgorithmSection; import edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.Annotation; import edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.Block; import edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.Comment; import edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.Connect; import edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.Connector; import edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.ConstrainedByClause; import edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.DerFunction; import edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.Enumeration; import edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.EnumerationLiteral; import edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.Equation; import edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.EquationSection; import edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.ExtendsClause; import edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.Function; import edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.Model; import edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.ModelicaClassDefinition; import edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.ModelicaComponent; import edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.ModelicaFunctionParameter; import edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.ModelicaModel; import edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.ModelicaPart; import edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.ModelicaPort; import edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.ModelicaValueProperty; import edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.Record; import edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.Type; import edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.modelicaPackage; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.util.Switch; /** * <!-- 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 edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.modelicaPackage * @generated */ public class modelicaSwitch<T> extends Switch<T> { /** * The cached model package * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected static modelicaPackage modelPackage; /** * Creates an instance of the switch. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public modelicaSwitch() { if (modelPackage == null) { modelPackage = modelicaPackage.eINSTANCE; } } /** * Checks whether this is a switch for the given package. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @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 <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 */ @Override protected T doSwitch(int classifierID, EObject theEObject) { switch (classifierID) { case modelicaPackage.MODELICA_CLASS_DEFINITION: { ModelicaClassDefinition modelicaClassDefinition = (ModelicaClassDefinition)theEObject; T result = caseModelicaClassDefinition(modelicaClassDefinition); if (result == null) result = defaultCase(theEObject); return result; } case modelicaPackage.CLASS: { edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.Class class_ = (edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.Class)theEObject; T result = caseClass(class_); if (result == null) result = caseModelicaClassDefinition(class_); if (result == null) result = defaultCase(theEObject); return result; } case modelicaPackage.CONNECTOR: { Connector connector = (Connector)theEObject; T result = caseConnector(connector); if (result == null) result = caseModelicaClassDefinition(connector); if (result == null) result = defaultCase(theEObject); return result; } case modelicaPackage.MODEL: { Model model = (Model)theEObject; T result = caseModel(model); if (result == null) result = caseModelicaClassDefinition(model); if (result == null) result = defaultCase(theEObject); return result; } case modelicaPackage.RECORD: { Record record = (Record)theEObject; T result = caseRecord(record); if (result == null) result = caseModelicaClassDefinition(record); if (result == null) result = defaultCase(theEObject); return result; } case modelicaPackage.BLOCK: { Block block = (Block)theEObject; T result = caseBlock(block); if (result == null) result = caseModelicaClassDefinition(block); if (result == null) result = defaultCase(theEObject); return result; } case modelicaPackage.PACKAGE: { edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.Package package_ = (edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.Package)theEObject; T result = casePackage(package_); if (result == null) result = caseModelicaClassDefinition(package_); if (result == null) result = defaultCase(theEObject); return result; } case modelicaPackage.FUNCTION: { Function function = (Function)theEObject; T result = caseFunction(function); if (result == null) result = caseModelicaClassDefinition(function); if (result == null) result = defaultCase(theEObject); return result; } case modelicaPackage.DER_FUNCTION: { DerFunction derFunction = (DerFunction)theEObject; T result = caseDerFunction(derFunction); if (result == null) result = caseFunction(derFunction); if (result == null) result = caseModelicaClassDefinition(derFunction); if (result == null) result = defaultCase(theEObject); return result; } case modelicaPackage.EXTENDS_CLAUSE: { ExtendsClause extendsClause = (ExtendsClause)theEObject; T result = caseExtendsClause(extendsClause); if (result == null) result = defaultCase(theEObject); return result; } case modelicaPackage.MODELICA_MODEL: { ModelicaModel modelicaModel = (ModelicaModel)theEObject; T result = caseModelicaModel(modelicaModel); if (result == null) result = defaultCase(theEObject); return result; } case modelicaPackage.MODELICA_COMPONENT: { ModelicaComponent modelicaComponent = (ModelicaComponent)theEObject; T result = caseModelicaComponent(modelicaComponent); if (result == null) result = defaultCase(theEObject); return result; } case modelicaPackage.MODELICA_VALUE_PROPERTY: { ModelicaValueProperty modelicaValueProperty = (ModelicaValueProperty)theEObject; T result = caseModelicaValueProperty(modelicaValueProperty); if (result == null) result = caseModelicaComponent(modelicaValueProperty); if (result == null) result = defaultCase(theEObject); return result; } case modelicaPackage.MODELICA_PART: { ModelicaPart modelicaPart = (ModelicaPart)theEObject; T result = caseModelicaPart(modelicaPart); if (result == null) result = caseModelicaComponent(modelicaPart); if (result == null) result = defaultCase(theEObject); return result; } case modelicaPackage.MODELICA_PORT: { ModelicaPort modelicaPort = (ModelicaPort)theEObject; T result = caseModelicaPort(modelicaPort); if (result == null) result = caseModelicaComponent(modelicaPort); if (result == null) result = defaultCase(theEObject); return result; } case modelicaPackage.EQUATION: { Equation equation = (Equation)theEObject; T result = caseEquation(equation); if (result == null) result = defaultCase(theEObject); return result; } case modelicaPackage.CONNECT: { Connect connect = (Connect)theEObject; T result = caseConnect(connect); if (result == null) result = defaultCase(theEObject); return result; } case modelicaPackage.EQUATION_SECTION: { EquationSection equationSection = (EquationSection)theEObject; T result = caseEquationSection(equationSection); if (result == null) result = defaultCase(theEObject); return result; } case modelicaPackage.MODELICA_FUNCTION_PARAMETER: { ModelicaFunctionParameter modelicaFunctionParameter = (ModelicaFunctionParameter)theEObject; T result = caseModelicaFunctionParameter(modelicaFunctionParameter); if (result == null) result = defaultCase(theEObject); return result; } case modelicaPackage.ALGORITHM_SECTION: { AlgorithmSection algorithmSection = (AlgorithmSection)theEObject; T result = caseAlgorithmSection(algorithmSection); if (result == null) result = defaultCase(theEObject); return result; } case modelicaPackage.CONSTRAINED_BY_CLAUSE: { ConstrainedByClause constrainedByClause = (ConstrainedByClause)theEObject; T result = caseConstrainedByClause(constrainedByClause); if (result == null) result = defaultCase(theEObject); return result; } case modelicaPackage.ANNOTATION: { Annotation annotation = (Annotation)theEObject; T result = caseAnnotation(annotation); if (result == null) result = defaultCase(theEObject); return result; } case modelicaPackage.COMMENT: { Comment comment = (Comment)theEObject; T result = caseComment(comment); if (result == null) result = defaultCase(theEObject); return result; } case modelicaPackage.TYPE: { Type type = (Type)theEObject; T result = caseType(type); if (result == null) result = caseModelicaClassDefinition(type); if (result == null) result = defaultCase(theEObject); return result; } case modelicaPackage.ALGORITHM: { Algorithm algorithm = (Algorithm)theEObject; T result = caseAlgorithm(algorithm); if (result == null) result = defaultCase(theEObject); return result; } case modelicaPackage.ENUMERATION: { Enumeration enumeration = (Enumeration)theEObject; T result = caseEnumeration(enumeration); if (result == null) result = caseType(enumeration); if (result == null) result = caseModelicaClassDefinition(enumeration); if (result == null) result = defaultCase(theEObject); return result; } case modelicaPackage.ENUMERATION_LITERAL: { EnumerationLiteral enumerationLiteral = (EnumerationLiteral)theEObject; T result = caseEnumerationLiteral(enumerationLiteral); if (result == null) result = defaultCase(theEObject); return result; } default: return defaultCase(theEObject); } } /** * Returns the result of interpreting the object as an instance of '<em>Modelica Class Definition</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>Modelica Class Definition</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseModelicaClassDefinition(ModelicaClassDefinition object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Class</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>Class</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseClass(edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.Class object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Connector</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>Connector</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseConnector(Connector object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Model</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</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseModel(Model object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Record</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>Record</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseRecord(Record object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Block</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>Block</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseBlock(Block object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Package</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>Package</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T casePackage(edu.ufc.femtost.disc.sysml4modelica.modelicametamodel.modelica.Package object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Function</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>Function</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseFunction(Function object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Der Function</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>Der Function</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseDerFunction(DerFunction object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Extends Clause</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>Extends Clause</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseExtendsClause(ExtendsClause object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Modelica Model</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>Modelica Model</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseModelicaModel(ModelicaModel object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Modelica Component</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>Modelica Component</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseModelicaComponent(ModelicaComponent object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Modelica Value 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>Modelica Value Property</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseModelicaValueProperty(ModelicaValueProperty object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Modelica Part</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>Modelica Part</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseModelicaPart(ModelicaPart object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Modelica Port</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>Modelica Port</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseModelicaPort(ModelicaPort object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Equation</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>Equation</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseEquation(Equation object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Connect</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>Connect</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseConnect(Connect object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Equation Section</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>Equation Section</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseEquationSection(EquationSection object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Modelica Function 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>Modelica Function Parameter</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseModelicaFunctionParameter(ModelicaFunctionParameter object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Algorithm Section</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>Algorithm Section</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseAlgorithmSection(AlgorithmSection object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Constrained By Clause</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>Constrained By Clause</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseConstrainedByClause(ConstrainedByClause object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Annotation</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>Annotation</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseAnnotation(Annotation object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Comment</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>Comment</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseComment(Comment object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>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>Type</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseType(Type object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Algorithm</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>Algorithm</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseAlgorithm(Algorithm object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Enumeration</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>Enumeration</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseEnumeration(Enumeration object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Enumeration Literal</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>Enumeration Literal</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseEnumerationLiteral(EnumerationLiteral 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 */ @Override public T defaultCase(EObject object) { return null; } } //modelicaSwitch