/**
 */
package org.eclipse.papyrus.RobotML.impl;

import org.eclipse.emf.ecore.EClass;
import org.eclipse.papyrus.RobotML.RobotMLPackage;
import org.eclipse.papyrus.RobotML.SensorHardware;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model object '<em><b>Sensor Hardware</b></em>'.
 * <!-- end-user-doc -->
 *
 * @generated
 */
public class SensorHardwareImpl extends HardwareImpl implements SensorHardware {
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected SensorHardwareImpl() {
		super();
	}

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

} // SensorHardwareImpl
