/******************************************************************************* * Copyright (c) 2008-2011 Chair for Applied Software Engineering, * Technische Universitaet Muenchen. * 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: ******************************************************************************/ package org.eclipse.emf.emfstore.server.model.accesscontrol.util; import java.util.List; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.util.Switch; import org.eclipse.emf.emfstore.common.model.IdentifiableElement; import org.eclipse.emf.emfstore.common.model.UniqueIdentifier; import org.eclipse.emf.emfstore.server.model.accesscontrol.*; import org.eclipse.emf.emfstore.server.model.accesscontrol.ACGroup; import org.eclipse.emf.emfstore.server.model.accesscontrol.ACOrgUnit; import org.eclipse.emf.emfstore.server.model.accesscontrol.ACOrgUnitId; import org.eclipse.emf.emfstore.server.model.accesscontrol.ACUser; import org.eclipse.emf.emfstore.server.model.accesscontrol.AccesscontrolPackage; import org.eclipse.emf.emfstore.server.model.accesscontrol.OrgUnitProperty; /** * <!-- 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.emfstore.server.model.accesscontrol.AccesscontrolPackage * @generated */ public class AccesscontrolSwitch<T> extends Switch<T> { /** * The cached model package * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated */ protected static AccesscontrolPackage modelPackage; /** * Creates an instance of the switch. * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated */ public AccesscontrolSwitch() { if (modelPackage == null) { modelPackage = AccesscontrolPackage.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 AccesscontrolPackage.AC_USER: { ACUser acUser = (ACUser)theEObject; T result = caseACUser(acUser); if (result == null) result = caseACOrgUnit(acUser); if (result == null) result = caseIdentifiableElement(acUser); if (result == null) result = defaultCase(theEObject); return result; } case AccesscontrolPackage.AC_ORG_UNIT: { ACOrgUnit acOrgUnit = (ACOrgUnit)theEObject; T result = caseACOrgUnit(acOrgUnit); if (result == null) result = caseIdentifiableElement(acOrgUnit); if (result == null) result = defaultCase(theEObject); return result; } case AccesscontrolPackage.AC_GROUP: { ACGroup acGroup = (ACGroup)theEObject; T result = caseACGroup(acGroup); if (result == null) result = caseACOrgUnit(acGroup); if (result == null) result = caseIdentifiableElement(acGroup); if (result == null) result = defaultCase(theEObject); return result; } case AccesscontrolPackage.AC_ORG_UNIT_ID: { ACOrgUnitId acOrgUnitId = (ACOrgUnitId)theEObject; T result = caseACOrgUnitId(acOrgUnitId); if (result == null) result = caseUniqueIdentifier(acOrgUnitId); if (result == null) result = defaultCase(theEObject); return result; } case AccesscontrolPackage.ORG_UNIT_PROPERTY: { OrgUnitProperty orgUnitProperty = (OrgUnitProperty)theEObject; T result = caseOrgUnitProperty(orgUnitProperty); if (result == null) result = defaultCase(theEObject); return result; } case AccesscontrolPackage.ROLE_ASSIGNMENT: { RoleAssignment roleAssignment = (RoleAssignment)theEObject; T result = caseRoleAssignment(roleAssignment); if (result == null) result = caseIdentifiableElement(roleAssignment); if (result == null) result = defaultCase(theEObject); return result; } case AccesscontrolPackage.ROLE: { Role role = (Role)theEObject; T result = caseRole(role); if (result == null) result = caseIdentifiableElement(role); if (result == null) result = defaultCase(theEObject); return result; } case AccesscontrolPackage.PERMISSION_TYPE: { PermissionType permissionType = (PermissionType)theEObject; T result = casePermissionType(permissionType); if (result == null) result = caseIdentifiableElement(permissionType); if (result == null) result = defaultCase(theEObject); return result; } case AccesscontrolPackage.PERMISSION_SET: { PermissionSet permissionSet = (PermissionSet)theEObject; T result = casePermissionSet(permissionSet); if (result == null) result = defaultCase(theEObject); return result; } default: return defaultCase(theEObject); } } /** * Returns the result of interpreting the object as an instance of '<em>AC User</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>AC User</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseACUser(ACUser object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>AC Org 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>AC Org Unit</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseACOrgUnit(ACOrgUnit object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>AC 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>AC Group</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseACGroup(ACGroup object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>AC Org Unit Id</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>AC Org Unit Id</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseACOrgUnitId(ACOrgUnitId object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Org Unit 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>Org Unit Property</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseOrgUnitProperty(OrgUnitProperty object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Role Assignment</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>Role Assignment</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseRoleAssignment(RoleAssignment object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Role</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>Role</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseRole(Role object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Permission 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>Permission Type</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T casePermissionType(PermissionType object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Permission Set</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>Permission Set</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T casePermissionSet(PermissionSet object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Identifiable 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>Identifiable Element</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseIdentifiableElement(IdentifiableElement object) { return null; } /** * Returns the result of interpreting the object as an instance of '<em>Unique Identifier</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>Unique Identifier</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ public T caseUniqueIdentifier(UniqueIdentifier 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; } } // AccesscontrolSwitch