/*******************************************************************************
 * Copyright (c) 2003, 2004 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 API and implementation
 *******************************************************************************/
/*
 * Created on Feb 27, 2004
 *
 * To change the template for this generated file go to
 * Window - Preferences - Java - Code Generation - Code and Comments
 */
package org.eclipse.jst.j2ee.internal.plugin;

/**
 * @author vijayb
 * 
 * To change the template for this generated type comment go to Window - Preferences - Java - Code
 * Generation - Code and Comments
 */
public interface J2EEUIContextIds {
	//Migration Wizard
	public static final String MIGRATION_WIZARD_GENERAL = J2EEUIPlugin.PLUGIN_ID + ".migr1000"; //$NON-NLS-1$
	public static final String MIGRATION_WIZARD_EAR = J2EEUIPlugin.PLUGIN_ID + ".migr1000"; //$NON-NLS-1$
	public static final String MIGRATION_WIZARD_EJB = J2EEUIPlugin.PLUGIN_ID + ".migr1100"; //$NON-NLS-1$
	public static final String MIGRATION_WIZARD_CMP = J2EEUIPlugin.PLUGIN_ID + ".migr1500"; //$NON-NLS-1$
	public static final String MIGRATION_WIZARD_WEB = J2EEUIPlugin.PLUGIN_ID + ".migr1200"; //$NON-NLS-1$
	public static final String MIGRATION_WIZARD_APP_CLIENT = J2EEUIPlugin.PLUGIN_ID + ".migr1300"; //$NON-NLS-1$
	public static final String MIGRATION_WIZARD_CONNECTOR = J2EEUIPlugin.PLUGIN_ID + ".migr1400"; //$NON-NLS-1$

	//	Delete Enterprise Bean Dialog
	public static final String DELETE_ENTERPRISE_BEAN_DIALOG = J2EEUIPlugin.PLUGIN_ID + ".delb1000"; //$NON-NLS-1$

}