> > I think sometimes (maybe mostly!) you want intf/home/pk/etc
generated
> > for your abstract base bean and use it or derive from it in derived
> > beans. So even if something is not a concrete bean but it's
perfectly
> > logical to generate intf/etc for it and derive from them in
subclasses.
> > So don't inherit generate of ejb:bean for other bean stuff, it's
really
> > logical, if you defined remote methods a()/b()/etc in A, you want a
> > AIntf remote interface with all those methods in it and B's BIntf
will
> > derive from it, isn't it so?
> 
> yeah, so in the case that this isn't the case the user just puts
> @ejb:interface generate=false etc etc. in the bean?

Yes. Btw, something that we should fix in inheritance in general is
making it smart enough to not include methods from a base in subclass.
For example look at CustomerData, you see all methods of PersonData
declared there too though it derives from PersonData and there's no need
for it.

> > So I don't think generate="dd" makes sense too :o)
> 
> ?  so we have
> 
> @ejb:generate="(true)|false"
> @ejb:deployable="true|(false)"
> 
> and all generate controls is bmp/cmp/session tasks, and deployable
> controls the various deployment descriptors?
> 
> Not sure I see what is wrong with generate="dd" as if someone wants
> generated cmp|bmp|session and dd, but not support classes, then they
will
> most likely need to specify the support classes anyway via
ejb:interface
> etc tags, so its not like we're requiring additional comments...
> 
> could you clarify this for me?

Well, actually I've added some guessing code to ifIsAConcreteEJBean.
I'll commit it today. What it does is doing these in order:
- if generate is specified then use it
- now try to guess because it wasn't specifically specified whether it
should be generated or not
        - if( getCurrentClass().isAbstract() == true )//
<entitycmp/bmp/session/> is on
                - //check if it has any abstract methods: if a method
other than create/remove/getData/like-that is abstract so it's not a
concrete bean
                - check if it's abstract and has a non-xdoclet-generated
derived class
        - else
                //if( <entitycmp/bmp/session/> is off )
                //{
                generate( template );
                //}
                //else
                //{
                //should be a support class wrongly not abstract!
                //}

I'm running it on PersonBean and there's no need for ejb:bean or
generate="false". Isn't it great?

So I think deployable is not useful :o)

Ara.


_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


_______________________________________________
Xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to