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]