I had something different in mind. Something which much closer resembles what the current API with the *Descriptor classes looks like. Just interfaces instead of classes and with XML specifics stripped of. So for example: public interface Contribution { String getExtensionPointId(); Object[] getElements(); } There would of course be an "owning" Module interface with a getContributions() method to establish the module relationship. An implementation of this interface would return the SymbolSourceContribution objects with a call to getElements(). The implementation could then chose to implement a lazy loading strategy or not. Does that make sense?
I see what you mean and it does make sense. Probably in ContributionDescriptor the getElements method would be replaced with: public Contribution getContributions() What is still bothering me is that it's so much work just to contribute one object to a configuration. You have to implement a ModuleDescriptorProvider, that returns a ModuleDescriptor, which contains a ContributionDescriptor which finally returns the Contribution. The main task of RegistryInfrastructureConstructor is to unroll these hierarchy and finally call ConfigurationPoint.addContribution() And that's what I would like to call directly. This could be the core API that is used by RegistryInfrastructureConstructor. I would even refactor RegistryInfrastructureConstructor and extract all ModuleDescriptor specific parts to another class (ModuleDescriptorProcessor?) Achim --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]