<?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="antejb0000">
<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="antejb1100">
<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="antejb1000">
<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="antejb1200">
<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>