/**
 * <copyright>
 * 
 * Copyright (c) 2010 Thales Corporate Services S.A.S.
 * 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:
 * Thales Corporate Services S.A.S - initial API and implementation
 * 
 * </copyright>
 */

package org.eclipse.egf.portfolio.file.resources;

/**
 * @author Benoit Langlois 
 */

public interface FileConstants {


	/**
	 * File contents task contract
	 */
	public static final String CONTENTS_NAME_CONTRACT = "contents"; //$NON-NLS-1$

	/**
	 * Project Name task contract
	 */
	public static final String PROJECT_NAME_CONTRACT = "projectName"; //$NON-NLS-1$

	/**
	 * Folder task contract
	 */
	public static final String FOLDER_CONTRACT = "folder"; //$NON-NLS-1$

	/**
	 * New folder task contract
	 */
	public static final String NEW_FOLDER_CONTRACT = "newFolder"; //$NON-NLS-1$

	/**
	 * File Name task contract
	 */
	public static final String FILE_NAME_CONTRACT = "fileName"; //$NON-NLS-1$

	/**
	 * New file Name task contract
	 */
	public static final String NEW_FILE_NAME_CONTRACT = "newFileName"; //$NON-NLS-1$

	/**
	 * Append Mode task contract
	 */
	public static final String APPEND_MODE_CONTRACT = "appendMode"; //$NON-NLS-1$

}
