//------------------------------------------------------------------------------
// Copyright (c) 2005, 2007 IBM Corporation 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:
// IBM Corporation - initial implementation
//------------------------------------------------------------------------------
package org.eclipse.epf.migration.diagram;

/**
 * @author Shashidhar Kannoori
 * @since 1.2
 *
 */
public class MigrationExportConstants {
	
	/**
	 * The process type preference key.
	 */
	public static final String PROCESS_TYPE = "processType"; //$NON-NLS-1$

	/**
	 * The process name preference key.
	 */
	public static final String PROCESS_NAME = "processName"; //$NON-NLS-1$

	/**
	 * The process context preference key.
	 */
	public static final String PROCESS_CONTEXT = "context"; //$NON-NLS-1$

	/**
	 * The target directories preference key.
	 */
	public static final String TARGET_DIRECTORIES = "targetDirs"; //$NON-NLS-1$

	/**
	 * The template names preference key.
	 */
	public static final String TEMPLATE_NAMES = "templateNames"; //$NON-NLS-1$
	
	/**
	 * The process context preference key.
	 */
	public static final String ACTIVITY_CONTEXT = "activity"; //$NON-NLS-1$
	
	/**
	 * 
	 */
	public static boolean debug = true;
}
