/**
 * Copyright (c) 2018-2020 Robert Bosch GmbH.
 * 
 * This program and the accompanying materials are made
 * available under the terms of the Eclipse Public License 2.0
 * which is available at https://www.eclipse.org/legal/epl-2.0/
 * 
 * SPDX-License-Identifier: EPL-2.0
 * 
 * Contributors:
 *     Robert Bosch GmbH - initial API and implementation
 */

package org.eclipse.app4mc.transformation.transformers;

import org.eclipse.emf.ecore.resource.ResourceSet;

public abstract class Model2TextRootTransformer implements IRootTransformer {

	public abstract void m2tTransformation(final ResourceSet inputResourceSet);

}
