Hi,

When I generate an interface for an EJB class with xdoclet2 it generates:

// Generated file. Do not edit.
// Generated by org.xdoclet.plugin.ejb.interfaces.LocalInterfacePlugin from output.servicelayer.ExampleService
package output.servicelayer;

public interface ExampleServiceLocal extends javax.ejb.EJBLocalObject {
    void method();
    void methodOne() throws java.lang.Exception;
    java.lang.String methodTwo(java.lang.String two);
}

Xdoclet 1 generates this:

/*
 * Generated by XDoclet - Do not edit!
 */
package output.servicelayer;

/**
 * Local interface for ExampleService.
 * @xdoclet-generated at 18-11-05
 */
public interface ExampleServiceLocal
   extends javax.ejb.EJBLocalObject
{

   public void method(  ) ;

   public void methodOne(  ) throws java.lang.Exception;

   public java.lang.String methodTwo( java.lang.String two ) ;

}

Why does XDoclet2 leave my modifiers out? My methods are not public anymore.

When I look at the lines of the velocity file for generating the interface they look like this

#foreach( $method in $plugin.getInterfaceMethods($class) )
    $method.getDeclarationSignature(false);
#end

shouldn't this be:

#foreach( $method in $plugin.getInterfaceMethods($class) )
    $method.getDeclarationSignature(true);
#end

Or am I jumping conclusions now.

Thanks anyway,

Joris Wijlens

Reply via email to