> Regarding Christian Ruediger's post, Damjan S. Vujnovic wrote:
> > Can you specify your design goal more precisely, so we can help you?
> 
> Yes, that would help us help you. Can you explain exactly the reason you
> are trying to use inheritance here? In my case, I created a base entity
> bean (BaseEntityEJB) that all my entity beans extend. However, I
> specified that the base bean had no interfaces or homes generated for
> it. Further, the base class only implemented the
> EJB-infrastructure-related methods (context, activate, passivate, store,
> load and remove) and some other helper methods (getEjbName, trimName,
> getPk and getNamePk). Thus no CMP fields nor business methods were
> inherited.
> 

Ok, here is what i intend to do with my design:
My system should administer a bunch of configuration data for technical devices.
All of those configuration data has a common set of approximately 30
values. Depending on the devices special features each configuration
data set has a set of specialized data.
There will be 10 or 20 different specializations, in the following
called devicetypes (means 10 or 20 sets of spezialized data).
New devicetypes with a new set of spezialised Data have to be easyly
added. Accessing Clients should not have to be reimplemented or
altererd to get the new Devicetypes configuration data.

Now for the idea, how this should work:
The common set of  data is managed by an Entitybean. Each of the
devices is represented by one such Entitybean. In addition for each
device exists one spezialized data set in an Enitybean. Of course for
each devicetype (=set of specialized data) there must exist an
Entitybean representation.

An example:
I have devices A,B,C. Devices A and C are of type 1, while B is of type 2.
All three devices are represented in an EntityBean Device. For the
devices A and C
also exist an Entitybean Type_1 and for device B an Entitybean Type_2 exists.

When getting a devices data the client at first accesses the common
Device EntityBean.
According to the data that is stored there, a specialized
DeviceHandler is called, which knows how to access the specialized
data set (means its Entitybean representation).
These DeviceHandlers automatically get the data of the common Device
too. Thats for the EJB-inheritance.
So each time my system is extended by a new devicetype, all you have
to do is coding a new Entiybean for the special data set and
programming a new DeviceHandler for the specialized data.

Now again back to my problem:
While coding this scenario by hand is not a problem, I get problems
when trying to generate the necessary code. Xdoclet generates the
ejb-jar.xml correctly.
As each specialized-device-EnityBean inherits the common
device-Entitybean, Xdoclet correctly enters the signatures of all
methods including findermethods in the Home Interface. So far for the
xml-file.
I can not inherit the common-devices Homeinterface, because
createmethods would collide. But as the signatures of the finder
methods are in the deployment descriptor, they should also be in the 
Homeinterface. That is wherer XDoclet fails. The finders of the
superclass are automatically added to the deployment section of its
heirs, but the finders are not inserted into the generated source
code.

I hope this makes the design idea clear.

Regards 
Christian


-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - 
digital self defense, top technical experts, no vendor pitches, 
unmatched networking opportunities. Visit www.blackhat.com
_______________________________________________
xdoclet-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user

Reply via email to