/*******************************************************************************
 * Copyright (c) 2001, 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 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_2_ID = 12;
	public int JSP_2_0_ID = 20;
	public int SERVLET_2_2 = 22;
	public int SERVLET_2_3 = 23;
	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$
					
}
