/*******************************************************************************
 * Copyright (c) 2001, 2005 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 Apr 16, 2003
 *
 */
package org.eclipse.jst.j2ee.internal;

/**
 * These constants are used with the XMLResource
 */
public interface J2EEVersionConstants {
	public int J2EE_1_2_ID = 12;
	public int J2EE_1_3_ID = 13;
	public int J2EE_1_4_ID = 14;
	public int EJB_1_0_ID = 10;	
	public int EJB_1_1_ID = 11;	
	public int EJB_2_0_ID = 20;	
	public int EJB_2_1_ID = 21;	
	public int WEB_2_2_ID = 22;
	public int WEB_2_3_ID = 23;
	public int WEB_2_4_ID = 24;
	public int TAGLIB_1_1_ID = 11;
	public int TAGLIB_1_2_ID = 12;
	public int TAGLIB_2_0_ID = 20;
	public int JSP_1_1_ID = 11;
	public int JSP_1_2_ID = 12;
	public int JSP_2_0_ID = 20;
	public int SERVLET_2_2 = 22;
	public int SERVLET_2_3 = 23;
	public int SERVLET_2_4 = 24;
	public int JCA_1_0_ID = 10;
	public int JCA_1_5_ID = 15;
	public int WEBSERVICES_1_0_ID = 10;
	public int WEBSERVICES_1_1_ID = 11;
	public String J2EE_1_4_TEXT 		= "1.4"; //$NON-NLS-1$
	

	public int VERSION_1_0 = 10;	
	public int VERSION_1_1 = 11;	
	public int VERSION_1_2 = 12;	
	public int VERSION_1_3 = 13;	
	public int VERSION_1_4 = 14;
	public int VERSION_1_5 = 15;
	public int VERSION_2_0 = 20;
	public int VERSION_2_1 = 21;	
	public int VERSION_2_2 = 22;	
	public int VERSION_2_3 = 23;	
	public int VERSION_2_4 = 24;	
	public int VERSION_2_5 = 25; 
	
	public String VERSION_1_0_TEXT		= "1.0"; //$NON-NLS-1$
	public String VERSION_1_1_TEXT    	= "1.1"; //$NON-NLS-1$
	public String VERSION_1_2_TEXT		= "1.2"; //$NON-NLS-1$
	public String VERSION_1_3_TEXT		= "1.3"; //$NON-NLS-1$
	public String VERSION_1_4_TEXT		= "1.4"; //$NON-NLS-1$
	public String VERSION_1_5_TEXT		= "1.5"; //$NON-NLS-1$
	public String VERSION_2_0_TEXT		= "2.0"; //$NON-NLS-1$
	public String VERSION_2_1_TEXT		= "2.1"; //$NON-NLS-1$
	public String VERSION_2_2_TEXT		= "2.2"; //$NON-NLS-1$
	public String VERSION_2_3_TEXT		= "2.3"; //$NON-NLS-1$
	public String VERSION_2_4_TEXT		= "2.4"; //$NON-NLS-1$
	public String VERSION_2_5_TEXT		= "2.5"; //$NON-NLS-1$
					
}
