Hi,
I can see the pain. Two related questions:
1) To contribute a loader without a base class, I'll have to implement all
methods in StAXElementLoader interface, right?
2) Can the following SCDL declaration achieve the same goal as you proposed?
<component name="myLoader">
<implementation.java
class="org.apache.tuscany.core.loader.LoaderExtension"/> <!-- this class
serves as the id of the extension point -->
<property name="modelObject">com.example.MyModelObject</property>
</component>
Thanks,
Raymond
----- Original Message -----
From: "Jeremy Boynes" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Wednesday, February 28, 2007 8:08 AM
Subject: Removing extension baseclasses from SPI
One of the challenges with SPI is the amount of implementation it
contains, particularly in the extension package where we provide
baseclasses for many of the extension points.
The intention here was to provide implementation infrastructure common to
many extension points that they could use. The problem is maintaining
that requires frequent revision to the SPI module (although not
necessarily to the interfaces it defines).
I think we can get around this issue by replacing these with specific
implementation types that are part of the core implementation. For
example, instead of having to write code to implement a loader for
"MyModelObject", we would allow the user to define one declaratively
using something like:
<component name="myLoader">
<t:loader modelObject="com.example.MyModelObject"/>
</component>
I'm going to explore this related to the loaders and if it seems to work
well will see how it extends to other extension points.
--
Jeremy
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]