After writing some testcases for the meta stuff the past couple of days, something has been bugging me. It's not a major issue, but it does get into the overloading of terms/accronyms.
It is the use of SPI which in the Java world is commonly associated with Service Providers Interface to refer to an API which is the Application Programmer's Interface.
The difference is one of which side of the system we are programming towards. For example, in JCE we have two sets of APIs. The API designed for clients to use cryptography is simply called the API. The API designed for cryptographic algorithm providers is called the SPI. The separation is only necessary if there is a different API for providers and users.
In our world, the service definitions (i.e. component interfaces and Avalon Framework) is simply the API. It is the same interface for both service providers and users alike. There is nothing special to differentiate them. For the Meta stuff, the users are the containers.
Also, for the meta package we have the API (called meta/spi) and the "implementation" (called meta/impl). The implementation is not an implementation of the API. It is a set of writers/builders for component meta information. If there were some interfaces for defining how to use the builders and writers in the API library, then the "impl" package would definitely be an implementation.
So to make a long story short, I would like to have us move toward standardizing on "API" as the designator for the API specific packages and not use "SPI" unless it is truly separate from the API. Also, more specifically, for the Meta package, I would liks us to have the builder and writer interfaces defined in the API package.
If there is no objection, I will start on that after lunch EST.
--
"They that give up essential liberty to obtain a little temporary safety
deserve neither liberty nor safety."
- Benjamin Franklin--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
