/*******************************************************************************
 * 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
 *******************************************************************************/
package org.eclipse.jst.j2ee.applicationclient.creation;



/**
 * Insert the type's description here. Creation date: (4/4/2001 10:04:11 AM)
 * 
 * @author: Administrator
 */
public interface IApplicationClientNatureConstants {
	String NATURE_ID = IConfigurationConstants.PLUG_IN_ID + ".ApplicationClientNature"; //$NON-NLS-1$
	String NO_NATURE_MESSAGE = AppClientCreationResourceHandler.getString("Not_an_Application_Client_project_ERROR_"); //$NON-NLS-1$
	String DEFAULT_SOURCE_PATH = "appClientModule"; //$NON-NLS-1$
	String[] APPCLIENT_NATURE_IDS = {NATURE_ID};
	String EDIT_MODEL_ID = "org.eclipse.jst.j2ee.applicationClient.editModel"; //$NON-NLS-1$
	String WEB_SERVICE_EDIT_MODEL_ID = "org.eclipse.jst.j2ee.webservice.appClient.editModel"; //$NON-NLS-1$
}