/*******************************************************************************
 *   Copyright (c) 2017 CEA LIST and others.
 *  
 *   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:
 *  	CEA LIST - Initial API and implementation
 *******************************************************************************/
/**
 */
package org.eclipse.papyrus.bmm.BMMProfile.impl;

import org.eclipse.emf.ecore.EClass;

import org.eclipse.papyrus.bmm.BMMProfile.BmmPackage;
import org.eclipse.papyrus.bmm.BMMProfile.CourseOfActionChannelsEffortsTowardsDesiredResult;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model object '<em><b>Course Of Action Channels Efforts Towards Desired Result</b></em>'.
 * <!-- end-user-doc -->
 *
 * @generated
 */
public class CourseOfActionChannelsEffortsTowardsDesiredResultImpl extends MotivationEdgeImpl implements CourseOfActionChannelsEffortsTowardsDesiredResult {
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected CourseOfActionChannelsEffortsTowardsDesiredResultImpl() {
		super();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	protected EClass eStaticClass() {
		return BmmPackage.Literals.COURSE_OF_ACTION_CHANNELS_EFFORTS_TOWARDS_DESIRED_RESULT;
	}

} //CourseOfActionChannelsEffortsTowardsDesiredResultImpl
