/**
 * <copyright>
 *
 * Copyright (c) 2014 itemis and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
 *
 * Contributors:
 *     itemis - Initial API and implementation
 *
 * </copyright>
 */
package org.eclipse.sphinx.emf.mwe.dynamic.util;

public interface IXtendConstants {

	/**
	 * Xtend file extension
	 */
	String XTEND_FILE_EXTENSION = "xtend"; //$NON-NLS-1$

	/**
	 * Java file extension
	 */
	String JAVA_FILE_EXTENSION = "java"; //$NON-NLS-1$

	String XTEND_GEN_FOLDER_NAME = "xtend-gen"; //$NON-NLS-1$

	String JAVA_SRC_FOLDER_NAME = "src"; //$NON-NLS-1$
}
