All Downloads are FREE. Search and download functionalities are using the official Maven repository.

kieker.model.analysismodel.trace.util.TraceSwitch Maven / Gradle / Ivy

/**
 */
package kieker.model.analysismodel.trace.util;

import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.util.Switch;

import kieker.model.analysismodel.trace.OperationCall;
import kieker.model.analysismodel.trace.Trace;
import kieker.model.analysismodel.trace.TracePackage;

/**
 * 
 * The Switch for the model's inheritance hierarchy.
 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
 * to invoke the caseXXX 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.
 * 
 *
 * @see kieker.model.analysismodel.trace.TracePackage
 * @generated
 */
public class TraceSwitch extends Switch {
	/**
	 * The cached model package
	 * 
	 * 
	 *
	 * @generated
	 */
	protected static TracePackage modelPackage;

	/**
	 * Creates an instance of the switch.
	 * 
	 * 
	 *
	 * @generated
	 */
	public TraceSwitch() {
		if (modelPackage == null) {
			modelPackage = TracePackage.eINSTANCE;
		}
	}

	/**
	 * Checks whether this is a switch for the given package.
	 * 
	 * 
	 *
	 * @param ePackage
	 *            the package in question.
	 * @return whether this is a switch for the given package.
	 * @generated
	 */
	@Override
	protected boolean isSwitchFor(final EPackage ePackage) {
		return ePackage == modelPackage;
	}

	/**
	 * Calls caseXXX for each class of the model until one returns a non null result; it yields that result.
	 * 
	 * 
	 *
	 * @return the first non-null result returned by a caseXXX call.
	 * @generated
	 */
	@Override
	protected T doSwitch(final int classifierID, final EObject theEObject) {
		switch (classifierID) {
		case TracePackage.TRACE: {
			final Trace trace = (Trace) theEObject;
			T result = this.caseTrace(trace);
			if (result == null) {
				result = this.defaultCase(theEObject);
			}
			return result;
		}
		case TracePackage.OPERATION_CALL: {
			final OperationCall operationCall = (OperationCall) theEObject;
			T result = this.caseOperationCall(operationCall);
			if (result == null) {
				result = this.defaultCase(theEObject);
			}
			return result;
		}
		default:
			return this.defaultCase(theEObject);
		}
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Trace'.
	 * 
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * 
	 *
	 * @param object
	 *            the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Trace'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseTrace(final Trace object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Operation Call'.
	 * 
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * 
	 *
	 * @param object
	 *            the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Operation Call'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseOperationCall(final OperationCall object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'EObject'.
	 * 
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch, but this is the last case anyway.
	 * 
	 *
	 * @param object
	 *            the target of the switch.
	 * @return the result of interpreting the object as an instance of 'EObject'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
	 * @generated
	 */
	@Override
	public T defaultCase(final EObject object) {
		return null;
	}

} // TraceSwitch




© 2015 - 2025 Weber Informatics LLC | Privacy Policy