/**
*/
package at.bestsolution.efxclipse.tooling.rrobot.model.task.util;
import at.bestsolution.efxclipse.tooling.rrobot.model.task.*;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.util.Switch;
import at.bestsolution.efxclipse.tooling.rrobot.model.task.DataFile;
import at.bestsolution.efxclipse.tooling.rrobot.model.task.File;
import at.bestsolution.efxclipse.tooling.rrobot.model.task.Folder;
import at.bestsolution.efxclipse.tooling.rrobot.model.task.Project;
import at.bestsolution.efxclipse.tooling.rrobot.model.task.Resource;
import at.bestsolution.efxclipse.tooling.rrobot.model.task.RobotTask;
import at.bestsolution.efxclipse.tooling.rrobot.model.task.TaskPackage;
import at.bestsolution.efxclipse.tooling.rrobot.model.task.TemplatedFile;
import at.bestsolution.efxclipse.tooling.rrobot.model.task.URLFile;
/**
* <!-- 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 at.bestsolution.efxclipse.tooling.rrobot.model.task.TaskPackage
* @generated
*/
public class TaskSwitch<T> extends Switch<T> {
/**
* The cached model package
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected static TaskPackage modelPackage;
/**
* Creates an instance of the switch.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public TaskSwitch() {
if (modelPackage == null) {
modelPackage = TaskPackage.eINSTANCE;
}
}
/**
* Checks whether this is a switch for the given package.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @parameter 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 TaskPackage.ROBOT_TASK: {
RobotTask robotTask = (RobotTask)theEObject;
T result = caseRobotTask(robotTask);
if (result == null) result = defaultCase(theEObject);
return result;
}
case TaskPackage.PROJECT: {
Project project = (Project)theEObject;
T result = caseProject(project);
if (result == null) result = defaultCase(theEObject);
return result;
}
case TaskPackage.RESOURCE: {
Resource resource = (Resource)theEObject;
T result = caseResource(resource);
if (result == null) result = caseExcludeableElementMixin(resource);
if (result == null) result = defaultCase(theEObject);
return result;
}
case TaskPackage.FOLDER: {
Folder folder = (Folder)theEObject;
T result = caseFolder(folder);
if (result == null) result = caseResource(folder);
if (result == null) result = caseExcludeableElementMixin(folder);
if (result == null) result = defaultCase(theEObject);
return result;
}
case TaskPackage.FILE: {
File file = (File)theEObject;
T result = caseFile(file);
if (result == null) result = caseResource(file);
if (result == null) result = caseExcludeableElementMixin(file);
if (result == null) result = defaultCase(theEObject);
return result;
}
case TaskPackage.TEMPLATED_FILE: {
TemplatedFile templatedFile = (TemplatedFile)theEObject;
T result = caseTemplatedFile(templatedFile);
if (result == null) result = caseFile(templatedFile);
if (result == null) result = caseResource(templatedFile);
if (result == null) result = caseExcludeableElementMixin(templatedFile);
if (result == null) result = defaultCase(theEObject);
return result;
}
case TaskPackage.DATA_FILE: {
DataFile dataFile = (DataFile)theEObject;
T result = caseDataFile(dataFile);
if (result == null) result = caseFile(dataFile);
if (result == null) result = caseResource(dataFile);
if (result == null) result = caseExcludeableElementMixin(dataFile);
if (result == null) result = defaultCase(theEObject);
return result;
}
case TaskPackage.URL_FILE: {
URLFile urlFile = (URLFile)theEObject;
T result = caseURLFile(urlFile);
if (result == null) result = caseFile(urlFile);
if (result == null) result = caseResource(urlFile);
if (result == null) result = caseExcludeableElementMixin(urlFile);
if (result == null) result = defaultCase(theEObject);
return result;
}
case TaskPackage.DYNAMIC_FILE: {
DynamicFile dynamicFile = (DynamicFile)theEObject;
T result = caseDynamicFile(dynamicFile);
if (result == null) result = caseFile(dynamicFile);
if (result == null) result = caseResource(dynamicFile);
if (result == null) result = caseExcludeableElementMixin(dynamicFile);
if (result == null) result = defaultCase(theEObject);
return result;
}
case TaskPackage.VARIABLE: {
Variable variable = (Variable)theEObject;
T result = caseVariable(variable);
if (result == null) result = defaultCase(theEObject);
return result;
}
case TaskPackage.BOOLEAN_EXPRESSION: {
BooleanExpression booleanExpression = (BooleanExpression)theEObject;
T result = caseBooleanExpression(booleanExpression);
if (result == null) result = defaultCase(theEObject);
return result;
}
case TaskPackage.REFERENCING_BOOLEAN_EXPRESSION: {
ReferencingBooleanExpression referencingBooleanExpression = (ReferencingBooleanExpression)theEObject;
T result = caseReferencingBooleanExpression(referencingBooleanExpression);
if (result == null) result = caseBooleanExpression(referencingBooleanExpression);
if (result == null) result = defaultCase(theEObject);
return result;
}
case TaskPackage.INLINE_BOOLEAN_EXPRESSION: {
InlineBooleanExpression inlineBooleanExpression = (InlineBooleanExpression)theEObject;
T result = caseInlineBooleanExpression(inlineBooleanExpression);
if (result == null) result = caseBooleanExpression(inlineBooleanExpression);
if (result == null) result = defaultCase(theEObject);
return result;
}
case TaskPackage.JDT_PROJECT: {
JDTProject jdtProject = (JDTProject)theEObject;
T result = caseJDTProject(jdtProject);
if (result == null) result = caseProject(jdtProject);
if (result == null) result = defaultCase(theEObject);
return result;
}
case TaskPackage.SOURCE_FRAGMENT: {
SourceFragment sourceFragment = (SourceFragment)theEObject;
T result = caseSourceFragment(sourceFragment);
if (result == null) result = caseExcludeableElementMixin(sourceFragment);
if (result == null) result = defaultCase(theEObject);
return result;
}
case TaskPackage.COMPILATION_UNIT: {
CompilationUnit compilationUnit = (CompilationUnit)theEObject;
T result = caseCompilationUnit(compilationUnit);
if (result == null) result = caseExcludeableElementMixin(compilationUnit);
if (result == null) result = defaultCase(theEObject);
return result;
}
case TaskPackage.EXCLUDEABLE_ELEMENT_MIXIN: {
ExcludeableElementMixin excludeableElementMixin = (ExcludeableElementMixin)theEObject;
T result = caseExcludeableElementMixin(excludeableElementMixin);
if (result == null) result = defaultCase(theEObject);
return result;
}
default: return defaultCase(theEObject);
}
}
/**
* Returns the result of interpreting the object as an instance of '<em>Robot Task</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>Robot Task</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseRobotTask(RobotTask object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Project</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>Project</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseProject(Project object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Resource</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>Resource</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseResource(Resource object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Folder</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>Folder</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseFolder(Folder object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>File</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>File</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseFile(File object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Templated File</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>Templated File</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseTemplatedFile(TemplatedFile object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Data File</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>Data File</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseDataFile(DataFile object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>URL File</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>URL File</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseURLFile(URLFile object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Dynamic File</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>Dynamic File</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseDynamicFile(DynamicFile 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 caseVariable(Variable object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Boolean 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>Boolean Expression</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseBooleanExpression(BooleanExpression object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Referencing Boolean 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>Referencing Boolean Expression</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseReferencingBooleanExpression(ReferencingBooleanExpression object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Inline Boolean 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>Inline Boolean Expression</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseInlineBooleanExpression(InlineBooleanExpression object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>JDT Project</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>JDT Project</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseJDTProject(JDTProject object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Source Fragment</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>Source Fragment</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseSourceFragment(SourceFragment object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Compilation Unit</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>Compilation Unit</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseCompilationUnit(CompilationUnit object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Excludeable Element Mixin</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>Excludeable Element Mixin</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseExcludeableElementMixin(ExcludeableElementMixin 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;
}
} //TaskSwitch