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]

Reply via email to