/*******************************************************************************
 * 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.internal.validation;

import org.eclipse.jst.j2ee.model.internal.validation.EARMessageConstants;



/**
 * Insert the type's description here. Creation date: (9/10/2001 3:30:22 PM)
 * 
 * @author: Administrator
 */
public interface UIEarMessageConstants extends EARMessageConstants {
	public static final String DOCTYPE_1_2 = "1.2"; //$NON-NLS-1$
	public static final String DOCTYPE_1_3 = "1.3"; //$NON-NLS-1$
	public static final String MISSING_PROJECT_FORMODULE_WARN_ = "MISSING_PROJECT_FORMODULE_WARN_"; //$NON-NLS-1$
	public static final String PROJECT_DOES_NOT_EXIST_WARN_ = "PROJECT_DOES_NOT_EXIST_WARN_"; //$NON-NLS-1$
	public static final String MISSING_WEBNATURE_FORMODULE_WARN_ = "MISSING_WEBNATURE_FORMODULE_WARN_"; //$NON-NLS-1$
	public static final String MISSING_CLIENTNATURE_FORMODULE_WARN_ = "MISSING_CLIENTNATURE_FORMODULE_WARN_"; //$NON-NLS-1$
	public static final String MISSING_EJBNATURE_FORMODULE_WARN_ = "MISSING_EJBNATURE_FORMODULE_WARN_"; //$NON-NLS-1$
	public static final String DUPLICATE_MODULE_FOR_PROJECT_NAME_ERROR_ = "DUPLICATE_MODULE_FOR_PROJECT_NAME_ERROR_"; //$NON-NLS-1$
	public static final String INVALID_MANIFEST_CLASSPATH_ONE_WARN_ = "INVALID_MANIFEST_CLASSPATH_ONE_WARN_"; //$NON-NLS-1$
	public static final String INVALID_MANIFEST_CLASSPATH_TWO_WARN_ = "INVALID_MANIFEST_CLASSPATH_TWO_WARN_"; //$NON-NLS-1$
	public static final String INVALID_CONTEXTROOT_WEBMODULE_WARN_ = "INVALID_CONTEXTROOT_WEBMODULE_WARN_"; //$NON-NLS-1$
	public static final String INVALID_MANIFEST_CLASSPATH_DEPENDENCY_WARN_ = "INVALID_MANIFEST_CLASSPATH_DEPENDENCY_WARN_"; //$NON-NLS-1$
	public static final String INVALID_URI_FOR_MODULE_ERROR_ = "INVALID_URI_FOR_MODULE_ERROR_"; //$NON-NLS-1$
	public static final String PROJECT_IS_CLOSED_WARN_ = "PROJECT_IS_CLOSED_WARN_"; //$NON-NLS-1$
	public static final String INVALID_CASE_FOR_MANIFEST_ERROR_ = "INVALID_CASE_FOR_MANIFEST_ERROR_"; //$NON-NLS-1$
	public static final String MESSAGE_UTIL_URI_NAME_COLLISION_ERROR_ = "MESSAGE_UTIL_URI_NAME_COLLISION_ERROR_"; //$NON-NLS-1$
	public static final String MESSAGE_UTIL_PROJECT_NAME_COLLISION_ERROR_ = "MESSAGE_UTIL_PROJECT_NAME_COLLISION_ERROR_"; //$NON-NLS-1$
	public static final String DUPLICATE_UTILJAR_FOR_PROJECT_NAME_ERROR_ = "DUPLICATE_UTILJAR_FOR_PROJECT_NAME_ERROR_"; //$NON-NLS-1$
	public static final String EAR_INVALID_DOC_TYPE_ERROR_ = "EAR_INVALID_DOC_TYPE_ERROR_"; //$NON-NLS-1$
	public static final String URI_ALREADY_EXISTS_IN_EAR_WARN_ = "URI_ALREADY_EXISTS_IN_EAR_WARN_"; //$NON-NLS-1$
	public static final String PROJECT_SERVER_TARGET_DOES_NOT_MATCH_EAR = "PROJECT_SERVER_TARGET_DOES_NOT_MATCH_EAR"; //$NON-NLS-1$
	public static final String NO_SERVER_TARGET_MODULE_IN_EAR_WITH_SERVER_TARGET = "NO_SERVER_TARGET_MODULE_IN_EAR_WITH_SERVER_TARGET"; //$NON-NLS-1$
	public static final String NO_SERVER_TARGET_ON_EAR_WITH_MODULE_SERVER_TARGETS = "NO_SERVER_TARGET_ON_EAR_WITH_MODULE_SERVER_TARGETS";//$NON-NLS-1$
	public static final String INVALID_EAR_SERVER_TARGET_FOR_14_SPEC_LEVEL = "INVALID_EAR_SERVER_TARGET_FOR_14_SPEC_LEVEL";//$NON-NLS-1$
	public static final String INVALID_MODULE_SERVER_TARGET_FOR_14_SPEC_LEVEL = "INVALID_MODULE_SERVER_TARGET_FOR_14_SPEC_LEVEL";//$NON-NLS-1$

}