Stephen McConnell wrote:

Can you explain in more detail what you mean by a plugin. There are several access points in Merlin already and more comming - but an outline of what you want to do will help.

Well, like implementing something like Idea's plugin framework for example.


If you want to select something then presumably you have some selection criteria in mind. A generic container such as Merlin does not know what you intentions are nor anything about a selection criteria or candidate ranking strategy. What this means is that you need to supply this logic though a service defintion and an implementation.

Well, the thing is, I want that the components can register themselves, so that I can give the user a list of options.



I.e. define your seelction service:


  public interface MySelectionService
  {
         Thing selectSomething( MyCriteria criteria );
  }

The define you component that implements MySelectionService and includes all of the selection semantics that are specific to the domain you are concerned with.

Limitation: as you mentioned Merlin requires that you declare dependencies for a component at the level of a type (i.e. dependencies are static). This means that if you want to slect against a merlin establish service, then you need to declare dependencies on all of the different potential types that you are going to select against. This is ok in scenarios such a keystor and you selecting between a personal keystore for signing as opposed to a keystore for trusted keys (i.e. the selection set is static). If the selection set is dynamic then you need to roll-your-own solution ... at least for the moment. A similar requirement exists in the Turbine Fulcrum project and its a subject I've been working on - i.e. if you not in a desperate hurry then you get this for free sometime soon.

Cheers, Steve.


Yup.... that sounds like what i need lol ;) oh well.. I guess i'll hardcode for now ;)




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to