To generate the interfaces (home, local home, remote, and local), you must do two things. You need to add the appropriate XDoclet tags to the bean implementation class, and then add the correct subtasks to the 'ejbdoclet' task in your build.xml file.

This tip shows generation of create and business methods to the correct interfaces. The session bean in the example below illustrates how to document a bean class in order to generate both remote and local interfaces. Notice that assigned values for the tags always use double quotes.

A Session Bean source code:

 /**
 * @ejb.bean type="Stateful"
 * view-type="both"
 */
public class SampleBean implements SessionBean {
    
    private String name = null;
    
    public void setSessionContext(SessionContext context) {}
    
    /**
     * @ejb.create-method
     */
    public void create() {}
    
    public void ejbCreate() {}
    public void ejbRemove() {}
    public void ejbLoad() {}
    public void ejbStore() {}
    public void ejbActivate() {}
    public void ejbPassivate() {}
    
    /**
     * @ejb.interface-method
     */
    public void setName(String value) {
        this.name = value;
    }
    
    /**
     * @ejb.interface-method
     */
    public String getName() {
        return name;
    }
}

An Ant file fragment:

...
<target name="ejbdoclet" depends="init">
	...

	<ejbdoclet destdir="${src}" ejbspec="2.0" >
		...

		<!-- adds subtasks to generate code-->
		<remoteinterface pattern="{0}Remote"/>/>
		<homeinterface/>
		<localhomeinterface/>
		<homeinterface/>
		...
	</ejbdoclet>
	...	
</target>
...