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]

Reply via email to