/** * Copyright (c) 2010, 2012 Obeo. * 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: * Obeo - initial API and implementation */ package org.eclipse.mylyn.docs.intent.bridge.java.util; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.util.Switch; import org.eclipse.mylyn.docs.intent.bridge.java.*; /** * <!-- 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.mylyn.docs.intent.bridge.java.JavaPackage * @generated */ public class JavaSwitch<T> extends Switch<T> { /** * The cached model package * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected static JavaPackage modelPackage; /** * Creates an instance of the switch. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public JavaSwitch() { if (modelPackage == null) { modelPackage = JavaPackage.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 JavaPackage.JAVADOC: { Javadoc javadoc = (Javadoc)theEObject; T result = caseJavadoc(javadoc); if (result == null) result = defaultCase(theEObject); return result; } case JavaPackage.DOCUMENTED_ELEMENT: { DocumentedElement documentedElement = (DocumentedElement)theEObject; T result = caseDocumentedElement(documentedElement); if (result == null) result = defaultCase(theEObject); return result; } case JavaPackage.NAMED_ELEMENT: { NamedElement namedElement = (NamedElement)theEObject; T result = caseNamedElement(namedElement); if (result == null) result = caseDocumentedElement(namedElement); if (result == null) result = defaultCase(theEObject); return result; } case JavaPackage.VISIBLE_ELEMENT: { VisibleElement visibleElement = (VisibleElement)theEObject; T result = caseVisibleElement(visibleElement); if (result == null) result = caseNamedElement(visibleElement); if (result == null) result = caseDocumentedElement(visibleElement); if (result == null) result = defaultCase(theEObject); return result; } case JavaPackage.ABSTRACT_CAPABLE_ELEMENT: { AbstractCapableElement abstractCapableElement = (AbstractCapableElement)theEObject; T result = caseAbstractCapableElement(abstractCapableElement); if (result == null) result = caseVisibleElement(abstractCapableElement); if (result == null) result = caseNamedElement(abstractCapableElement); if (result == null) result = caseDocumentedElement(abstractCapableElement); if (result == null) result = defaultCase(theEObject); return result; } case JavaPackage.FIELD: { Field field = (Field)theEObject; T result = caseField(field); if (result == null) result = caseVisibleElement(field); if (result == null) result = caseNamedElement(field); if (result == null) result = caseDocumentedElement(field); if (result == null) result = defaultCase(theEObject); return result; } case JavaPackage.CLASSIFIER: { Classifier classifier = (Classifier)theEObject; T result = caseClassifier(classifier); if (result == null) result = caseAbstractCapableElement(classifier); if (result == null) result = caseVisibleElement(classifier); if (result == null) result = caseNamedElement(classifier); if (result == null) result = caseDocumentedElement(classifier); if (result == null) result = defaultCase(theEObject); return result; } case JavaPackage.METHOD: { Method method = (Method)theEObject; T result = caseMethod(method); if (result == null) result = caseAbstractCapableElement(method); if (result == null) result = caseVisibleElement(method); if (result == null) result = caseNamedElement(method); if (result == null) result = caseDocumentedElement(method); if (result == null) result = defaultCase(theEObject); return result; } case JavaPackage.CONSTRUCTOR: { Constructor constructor = (Constructor)theEObject; T result = caseConstructor(constructor); if (result == null) result = caseMethod(constructor); if (result == null) result = caseAbstractCapableElement(constructor); if (result == null) result = caseVisibleElement(constructor); if (result == null) result = caseNamedElement(constructor); if (result == null) result = caseDocumentedElement(constructor); if (result == null) result = defaultCase(theEObject); return result; } case JavaPackage.PARAMETER: { Parameter parameter = (Parameter)theEObject; T result = caseParameter(parameter); if (result == null) result = caseNamedElement(parameter); if (result == null) result = caseDocumentedElement(parameter); if (result == null) result = defaultCase(theEObject); return result; } default: return defaultCase(theEObject); } } /** * Returns the result of interpreting the object as an instance of '<em>Javadoc</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>Javadoc</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseJavadoc(Javadoc object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Documented 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>Documented Element</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseDocumentedElement(DocumentedElement object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Named 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>Named Element</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseNamedElement(NamedElement object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Visible 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>Visible Element</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseVisibleElement(VisibleElement object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Abstract Capable 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>Abstract Capable Element</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseAbstractCapableElement(AbstractCapableElement object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Field</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>Field</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseField(Field object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Classifier</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>Classifier</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseClassifier(Classifier object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Method</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>Method</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseMethod(Method object) { return null; } /** * 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>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>Parameter</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseParameter(Parameter 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; } } //JavaSwitch