/** * <copyright> * </copyright> * * $Id$ */ package org.eclipse.buckminster.cspecxml.util; import java.util.List; import org.eclipse.buckminster.cspecxml.*; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EObject; /** * <!-- 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.buckminster.cspecxml.ICSpecXMLPackage * @generated */ public class CSpecXMLSwitch<T> { /** * The cached model package <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ protected static ICSpecXMLPackage modelPackage; /** * Creates an instance of the switch. <!-- begin-user-doc --> <!-- * end-user-doc --> * * @generated */ public CSpecXMLSwitch() { if (modelPackage == null) { modelPackage = ICSpecXMLPackage.eINSTANCE; } } /** * Returns the result of interpreting the object as an instance of ' * <em>Action</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>Action</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseAction(IAction object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Action Artifact</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>Action Artifact</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseActionArtifact(IActionArtifact object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Actions 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>Actions Type</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseActionsType(IActionsType object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Alter Action</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>Alter Action</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseAlterAction(IAlterAction object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Alter Actions 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>Alter Actions Type</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseAlterActionsType(IAlterActionsType object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Alter Artifact</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>Alter Artifact</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseAlterArtifact(IAlterArtifact object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Alter Artifacts 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>Alter Artifacts Type</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseAlterArtifactsType(IAlterArtifactsType object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Alter Dependencies 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>Alter Dependencies Type</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseAlterDependenciesType(IAlterDependenciesType object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Alter Group</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>Alter Group</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseAlterGroup(IAlterGroup object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Alter Groups 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>Alter Groups Type</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseAlterGroupsType(IAlterGroupsType object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Alter Prerequisites</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>Alter Prerequisites</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseAlterPrerequisites(IAlterPrerequisites object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Alter Products 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>Alter Products Type</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseAlterProductsType(IAlterProductsType object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Alter Properties</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>Alter Properties</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseAlterProperties(IAlterProperties object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Artifact</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>Artifact</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseArtifact(IArtifact object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Artifacts 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>Artifacts Type</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseArtifactsType(IArtifactsType object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Attribute</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>Attribute</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseAttribute(IAttribute object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Component Request</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>Component Request</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseComponentRequest(IComponentRequest object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Component Spec</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>Component Spec</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseComponentSpec(IComponentSpec object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Component Spec Base</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>Component Spec Base</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseComponentSpecBase(IComponentSpecBase object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>CSpec Extension</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>CSpec Extension</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseCSpecExtension(ICSpecExtension object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Definitions</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>Definitions</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseDefinitions(IDefinitions object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Dependencies 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>Dependencies Type</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseDependenciesType(IDependenciesType object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Document Root</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>Document Root</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseDocumentRoot(IDocumentRoot object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Generator</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>Generator</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseGenerator(IGenerator object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Generators 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>Generators Type</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseGeneratorsType(IGeneratorsType object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Group</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>Group</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseGroup(IGroup object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Groups 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>Groups Type</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseGroupsType(IGroupsType object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>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>Import</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseImport(IImport object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Parameter 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>Parameter Type</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseParameterType(IParameterType object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Path</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>Path</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T casePath(IPath object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Prerequisite</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>Prerequisite</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T casePrerequisite(IPrerequisite object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Prerequisites</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>Prerequisites</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T casePrerequisites(IPrerequisites object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Products 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>Products Type</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseProductsType(IProductsType object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Properties</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>Properties</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseProperties(IProperties object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Remove</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>Remove</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseRemove(IRemove object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Remove Path</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>Remove Path</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseRemovePath(IRemovePath object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Remove 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>Remove Property</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseRemoveProperty(IRemoveProperty object) { return null; } /** * Returns the result of interpreting the object as an instance of ' * <em>Rename</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>Rename</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseRename(IRename 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; } /** * 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 ICSpecXMLPackage.ACTION: { IAction action = (IAction) theEObject; T result = caseAction(action); if (result == null) result = caseAttribute(action); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.ACTION_ARTIFACT: { IActionArtifact actionArtifact = (IActionArtifact) theEObject; T result = caseActionArtifact(actionArtifact); if (result == null) result = caseArtifact(actionArtifact); if (result == null) result = caseAttribute(actionArtifact); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.ACTIONS_TYPE: { IActionsType actionsType = (IActionsType) theEObject; T result = caseActionsType(actionsType); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.ALTER_ACTION: { IAlterAction alterAction = (IAlterAction) theEObject; T result = caseAlterAction(alterAction); if (result == null) result = caseAction(alterAction); if (result == null) result = caseAttribute(alterAction); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.ALTER_ACTIONS_TYPE: { IAlterActionsType alterActionsType = (IAlterActionsType) theEObject; T result = caseAlterActionsType(alterActionsType); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.ALTER_ARTIFACT: { IAlterArtifact alterArtifact = (IAlterArtifact) theEObject; T result = caseAlterArtifact(alterArtifact); if (result == null) result = caseArtifact(alterArtifact); if (result == null) result = caseAttribute(alterArtifact); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.ALTER_ARTIFACTS_TYPE: { IAlterArtifactsType alterArtifactsType = (IAlterArtifactsType) theEObject; T result = caseAlterArtifactsType(alterArtifactsType); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.ALTER_DEPENDENCIES_TYPE: { IAlterDependenciesType alterDependenciesType = (IAlterDependenciesType) theEObject; T result = caseAlterDependenciesType(alterDependenciesType); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.ALTER_GROUP: { IAlterGroup alterGroup = (IAlterGroup) theEObject; T result = caseAlterGroup(alterGroup); if (result == null) result = caseGroup(alterGroup); if (result == null) result = caseAttribute(alterGroup); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.ALTER_GROUPS_TYPE: { IAlterGroupsType alterGroupsType = (IAlterGroupsType) theEObject; T result = caseAlterGroupsType(alterGroupsType); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.ALTER_PREREQUISITES: { IAlterPrerequisites alterPrerequisites = (IAlterPrerequisites) theEObject; T result = caseAlterPrerequisites(alterPrerequisites); if (result == null) result = casePrerequisites(alterPrerequisites); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.ALTER_PRODUCTS_TYPE: { IAlterProductsType alterProductsType = (IAlterProductsType) theEObject; T result = caseAlterProductsType(alterProductsType); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.ALTER_PROPERTIES: { IAlterProperties alterProperties = (IAlterProperties) theEObject; T result = caseAlterProperties(alterProperties); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.ARTIFACT: { IArtifact artifact = (IArtifact) theEObject; T result = caseArtifact(artifact); if (result == null) result = caseAttribute(artifact); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.ARTIFACTS_TYPE: { IArtifactsType artifactsType = (IArtifactsType) theEObject; T result = caseArtifactsType(artifactsType); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.ATTRIBUTE: { IAttribute attribute = (IAttribute) theEObject; T result = caseAttribute(attribute); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.COMPONENT_REQUEST: { IComponentRequest componentRequest = (IComponentRequest) theEObject; T result = caseComponentRequest(componentRequest); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.COMPONENT_SPEC: { IComponentSpec componentSpec = (IComponentSpec) theEObject; T result = caseComponentSpec(componentSpec); if (result == null) result = caseComponentSpecBase(componentSpec); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.COMPONENT_SPEC_BASE: { IComponentSpecBase componentSpecBase = (IComponentSpecBase) theEObject; T result = caseComponentSpecBase(componentSpecBase); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.CSPEC_EXTENSION: { ICSpecExtension cSpecExtension = (ICSpecExtension) theEObject; T result = caseCSpecExtension(cSpecExtension); if (result == null) result = caseComponentSpecBase(cSpecExtension); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.DEFINITIONS: { IDefinitions definitions = (IDefinitions) theEObject; T result = caseDefinitions(definitions); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.DEPENDENCIES_TYPE: { IDependenciesType dependenciesType = (IDependenciesType) theEObject; T result = caseDependenciesType(dependenciesType); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.DOCUMENT_ROOT: { IDocumentRoot documentRoot = (IDocumentRoot) theEObject; T result = caseDocumentRoot(documentRoot); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.GENERATOR: { IGenerator generator = (IGenerator) theEObject; T result = caseGenerator(generator); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.GENERATORS_TYPE: { IGeneratorsType generatorsType = (IGeneratorsType) theEObject; T result = caseGeneratorsType(generatorsType); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.GROUP: { IGroup group = (IGroup) theEObject; T result = caseGroup(group); if (result == null) result = caseAttribute(group); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.GROUPS_TYPE: { IGroupsType groupsType = (IGroupsType) theEObject; T result = caseGroupsType(groupsType); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.IMPORT: { IImport import_ = (IImport) theEObject; T result = caseImport(import_); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.PARAMETER_TYPE: { IParameterType parameterType = (IParameterType) theEObject; T result = caseParameterType(parameterType); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.PATH: { IPath path = (IPath) theEObject; T result = casePath(path); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.PREREQUISITE: { IPrerequisite prerequisite = (IPrerequisite) theEObject; T result = casePrerequisite(prerequisite); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.PREREQUISITES: { IPrerequisites prerequisites = (IPrerequisites) theEObject; T result = casePrerequisites(prerequisites); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.PRODUCTS_TYPE: { IProductsType productsType = (IProductsType) theEObject; T result = caseProductsType(productsType); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.PROPERTIES: { IProperties properties = (IProperties) theEObject; T result = caseProperties(properties); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.REMOVE: { IRemove remove = (IRemove) theEObject; T result = caseRemove(remove); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.REMOVE_PATH: { IRemovePath removePath = (IRemovePath) theEObject; T result = caseRemovePath(removePath); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.REMOVE_PROPERTY: { IRemoveProperty removeProperty = (IRemoveProperty) theEObject; T result = caseRemoveProperty(removeProperty); if (result == null) result = defaultCase(theEObject); return result; } case ICSpecXMLPackage.RENAME: { IRename rename = (IRename) theEObject; T result = caseRename(rename); if (result == null) result = defaultCase(theEObject); return result; } default: return defaultCase(theEObject); } } } // CSpecXMLSwitch