Salut Eric!

please forget the *version* field for a moment, as I wrote before it
was just fake metadata that I accidentally chose just because it was
the first it came in my mind, the purpose is only qualifying the
discovered services implementation

> You mean the version attribute of your example can be statically loaded from 
> a properties file for example?

It could work as well, my initial proposal was specifying the
qualifiers directly in the META-INF/services files, i.e.

file META-INF/services/org.acme.CreditCardProcessor
-----------------------------------------------------------------
org.acme.VisaCreditCardProcessor; type=Visa; somethingElse=value1
org.acme.MastercardCreditCardProcessor; type=Mastercard; somethingElse=value2

but at after a second thought I realized that this format would make
that files useless with traditional ServiceLoader API... any other
idea?

> I guess the example you gave with the version is not about loading different
> version of a same implementation, but just defining which concrete
> implementation to choose.

You got it! :)

Any other idea is welcome!
-Simo

http://people.apache.org/~simonetripodi/
http://simonetripodi.livejournal.com/
http://twitter.com/simonetripodi
http://www.99soft.org/

Reply via email to