<?xml version="1.0" encoding="UTF-8"?>
<?NLS type="org.eclipse.help.contexts"?>
<!-- /*******************************************************************************
 * Copyright (c) 2000, 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
 *******************************************************************************/ -->
<contexts>

<!-- Page 1, Create an Enterprise Bean  -->
<context id="EJB_NEW_EJB_WIZARD_PAGE1">
<description>Use this page to select the enterprise bean type: session bean or message-driven bean.
	
You must install and enable XDoclet before creating a session or message-driven bean. Follow these steps:
	1 - First, download and install XDoclet from http://xdoclet.sourceforge.net/xdoclet/install.html
	2 - Next, click the <b>preferences</b> link to configure the XDoclet Runtime Preferences. Another way to get to the XDoclet Runtime Preferences page is from <b>Window > Preferences > J2EE Annotations > XDoclet</b>.
	3 - Check the <b>Enable XDoclet Builder</b> check box.
	4 - Select the Version of XDoclet that you have installed.
	5 - Use the Browse button to locate the installation directory for XDoclet (<b>XDoclet Home</b>).
	6 - Click <b>OK</b> to save the preferences.
	
After installing and configuring XDoclet, select the bean type you want to create and click <b>Next</b>.
</description>
<topic label="Creating enterprise beans" href="../org.eclipse.jst.ejb.doc.user/topics/tecrte.html"/>
<topic label="EJB architecture" href="../org.eclipse.jst.ejb.doc.user/topics/cearch.html"/>
<!-- link to org.eclipse.jst.annotation.user.doc  annotation tagging -->
</context>

<!-- Page 2, Enterprise Bean class file definition -->
<context id="EJB_NEW_EJB_WIZARD_PAGE2">
<description>Enter the <b>Project</b>, <b>Module Name</b>, and workspace <b>Folder</b> for the new enterprise bean.

Enter the <b>Java package</b> and <b>Class name</b> for the new enterprise bean. 
Change the <b>Superclass</b> if your class will override a class other than java.lang.Object.

Select the <b>Generate an annotated bean class</b> check box to add J2EE annotations to the source file.
</description>
<topic label="Creating enterprise beans" href="../org.eclipse.jst.ejb.doc.user/topics/tecrte.html"/>
<topic label="Creating an EJB project" href="../org.eclipse.jst.ejb.doc.user/topics/tecrtpro.html"/>
<!-- link to org.eclipse.jst.annotation.user.doc  annotation tagging -->
</context>

<!-- Page 3, Enterprise Bean details -->
<context id="EJB_NEW_EJB_WIZARD_PAGE3">
<description>Specify the EJB, JNDI and Display names for the enterprise bean. 
	The <b>EJB name</b> is the name of the enterprise bean class.
	The <b>JNDI name</b> is a logical name used by the server to locate an enterprise bean at runtime.
	The <b>Display name</b> is a short name for the enterprise bean that is used by tools.	

Optionally, provide a text <b>Description</b> of the enterprise bean class.

Select the <b>State Type</b> (stateless or stateful) if you are creating a session bean.
A stateful session bean maintains client-specific session information, or conversational state, across multiple method calls and transactions.
A stateless session bean does not maintain conversational state.

Select the <b>Transaction Type</b> (container or bean) for the enterprise bean. This specifies whether the container or the bean will handle transaction demarcation.
</description>
<topic label="Creating enterprise beans" href="../org.eclipse.jst.ejb.doc.user/topics/tecrte.html"/>
<topic label="Creating an EJB project" href="../org.eclipse.jst.ejb.doc.user/topics/tecrtpro.html"/>
</context>

<!-- Page 4, Enterprise Bean modifiers, interfaces and method stubs -->
<context id="EJB_NEW_EJB_WIZARD_PAGE4">
<description>Select the type of <b>Modifiers</b> for the bean class.
	
Select the <b>Interfaces</b> that your bean class will implement. Use the <b>Add</b> and <b>Remove</b> buttons to create the list of interfaces.

Select which method stubs that you want created in the bean class.<b></b>
</description>
<topic label="Creating enterprise beans" href="../org.eclipse.jst.ejb.doc.user/topics/tecrte.html"/>
<topic label="Creating an EJB project" href="../org.eclipse.jst.ejb.doc.user/topics/tecrtpro.html"/>
</context>



 
</contexts>