blob: 8a2a2d43cebc995e0287e66a39b3577f561225a3 [file] [log] [blame]
/*
* Copyright (c) 2008-2013, 2015 Eike Stepper (Berlin, Germany) 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:
* Eike Stepper - initial API and implementation
*/
package org.eclipse.emf.cdo.tests.model5.util;
import org.eclipse.emf.cdo.tests.model5.Child;
import org.eclipse.emf.cdo.tests.model5.Doctor;
import org.eclipse.emf.cdo.tests.model5.GenListOfBoolean;
import org.eclipse.emf.cdo.tests.model5.GenListOfChar;
import org.eclipse.emf.cdo.tests.model5.GenListOfDate;
import org.eclipse.emf.cdo.tests.model5.GenListOfDouble;
import org.eclipse.emf.cdo.tests.model5.GenListOfFloat;
import org.eclipse.emf.cdo.tests.model5.GenListOfInt;
import org.eclipse.emf.cdo.tests.model5.GenListOfIntArray;
import org.eclipse.emf.cdo.tests.model5.GenListOfInteger;
import org.eclipse.emf.cdo.tests.model5.GenListOfLong;
import org.eclipse.emf.cdo.tests.model5.GenListOfShort;
import org.eclipse.emf.cdo.tests.model5.GenListOfString;
import org.eclipse.emf.cdo.tests.model5.Manager;
import org.eclipse.emf.cdo.tests.model5.Model5Package;
import org.eclipse.emf.cdo.tests.model5.Parent;
import org.eclipse.emf.cdo.tests.model5.TestFeatureMap;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import java.util.List;
//import org.eclipse.emf.cdo.tests.model5.*;
/**
* <!-- 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.emf.cdo.tests.model5.Model5Package
* @generated
*/
public class Model5Switch<T>
{
/**
* The cached model package
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected static Model5Package modelPackage;
/**
* Creates an instance of the switch.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public Model5Switch()
{
if (modelPackage == null)
{
modelPackage = Model5Package.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 Model5Package.TEST_FEATURE_MAP:
{
TestFeatureMap testFeatureMap = (TestFeatureMap)theEObject;
T result = caseTestFeatureMap(testFeatureMap);
if (result == null)
{
result = defaultCase(theEObject);
}
return result;
}
case Model5Package.MANAGER:
{
Manager manager = (Manager)theEObject;
T result = caseManager(manager);
if (result == null)
{
result = defaultCase(theEObject);
}
return result;
}
case Model5Package.DOCTOR:
{
Doctor doctor = (Doctor)theEObject;
T result = caseDoctor(doctor);
if (result == null)
{
result = defaultCase(theEObject);
}
return result;
}
case Model5Package.GEN_LIST_OF_STRING:
{
GenListOfString genListOfString = (GenListOfString)theEObject;
T result = caseGenListOfString(genListOfString);
if (result == null)
{
result = defaultCase(theEObject);
}
return result;
}
case Model5Package.GEN_LIST_OF_INT:
{
GenListOfInt genListOfInt = (GenListOfInt)theEObject;
T result = caseGenListOfInt(genListOfInt);
if (result == null)
{
result = defaultCase(theEObject);
}
return result;
}
case Model5Package.GEN_LIST_OF_INTEGER:
{
GenListOfInteger genListOfInteger = (GenListOfInteger)theEObject;
T result = caseGenListOfInteger(genListOfInteger);
if (result == null)
{
result = defaultCase(theEObject);
}
return result;
}
case Model5Package.GEN_LIST_OF_LONG:
{
GenListOfLong genListOfLong = (GenListOfLong)theEObject;
T result = caseGenListOfLong(genListOfLong);
if (result == null)
{
result = defaultCase(theEObject);
}
return result;
}
case Model5Package.GEN_LIST_OF_BOOLEAN:
{
GenListOfBoolean genListOfBoolean = (GenListOfBoolean)theEObject;
T result = caseGenListOfBoolean(genListOfBoolean);
if (result == null)
{
result = defaultCase(theEObject);
}
return result;
}
case Model5Package.GEN_LIST_OF_SHORT:
{
GenListOfShort genListOfShort = (GenListOfShort)theEObject;
T result = caseGenListOfShort(genListOfShort);
if (result == null)
{
result = defaultCase(theEObject);
}
return result;
}
case Model5Package.GEN_LIST_OF_FLOAT:
{
GenListOfFloat genListOfFloat = (GenListOfFloat)theEObject;
T result = caseGenListOfFloat(genListOfFloat);
if (result == null)
{
result = defaultCase(theEObject);
}
return result;
}
case Model5Package.GEN_LIST_OF_DOUBLE:
{
GenListOfDouble genListOfDouble = (GenListOfDouble)theEObject;
T result = caseGenListOfDouble(genListOfDouble);
if (result == null)
{
result = defaultCase(theEObject);
}
return result;
}
case Model5Package.GEN_LIST_OF_DATE:
{
GenListOfDate genListOfDate = (GenListOfDate)theEObject;
T result = caseGenListOfDate(genListOfDate);
if (result == null)
{
result = defaultCase(theEObject);
}
return result;
}
case Model5Package.GEN_LIST_OF_CHAR:
{
GenListOfChar genListOfChar = (GenListOfChar)theEObject;
T result = caseGenListOfChar(genListOfChar);
if (result == null)
{
result = defaultCase(theEObject);
}
return result;
}
case Model5Package.GEN_LIST_OF_INT_ARRAY:
{
GenListOfIntArray genListOfIntArray = (GenListOfIntArray)theEObject;
T result = caseGenListOfIntArray(genListOfIntArray);
if (result == null)
{
result = defaultCase(theEObject);
}
return result;
}
case Model5Package.PARENT:
{
Parent parent = (Parent)theEObject;
T result = caseParent(parent);
if (result == null)
{
result = defaultCase(theEObject);
}
return result;
}
case Model5Package.CHILD:
{
Child child = (Child)theEObject;
T result = caseChild(child);
if (result == null)
{
result = defaultCase(theEObject);
}
return result;
}
default:
return defaultCase(theEObject);
}
}
/**
* Returns the result of interpreting the object as an instance of '<em>Test Feature Map</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>Test Feature Map</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseTestFeatureMap(TestFeatureMap object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Manager</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>Manager</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseManager(Manager object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Doctor</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>Doctor</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseDoctor(Doctor object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Gen List Of Int</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>Gen List Of Int</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseGenListOfInt(GenListOfInt object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Gen List Of Integer</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>Gen List Of Integer</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseGenListOfInteger(GenListOfInteger object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Gen List Of Long</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>Gen List Of Long</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseGenListOfLong(GenListOfLong object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Gen List Of Boolean</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>Gen List Of Boolean</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseGenListOfBoolean(GenListOfBoolean object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Gen List Of Short</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>Gen List Of Short</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseGenListOfShort(GenListOfShort object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Gen List Of Float</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>Gen List Of Float</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseGenListOfFloat(GenListOfFloat object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Gen List Of Double</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>Gen List Of Double</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseGenListOfDouble(GenListOfDouble object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Gen List Of Date</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>Gen List Of Date</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseGenListOfDate(GenListOfDate object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Gen List Of Char</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>Gen List Of Char</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseGenListOfChar(GenListOfChar object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Gen List Of Int Array</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>Gen List Of Int Array</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseGenListOfIntArray(GenListOfIntArray object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Parent</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>Parent</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseParent(Parent object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Child</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>Child</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseChild(Child object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Gen List Of String</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>Gen List Of String</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseGenListOfString(GenListOfString 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;
}
} // Model5Switch