I've got an API package that allows 3rd-parties to extend part of a system. Most of the interfaces in it are marked ConsumerType. (There are a few that are for singleton "managers" of the extensions, and those are marked ProviderType.)
There is also a "common" package that provides some classes to help in building such extensions. There are three primary types of things in the "common" package: * Abstract Classes. I have these marked ConsumerType. * Default Implementation Classes. Some implementations will use these as-is, while others will use them as base classes, and still others won't use them at all. In the base-class case they're pretty similar to the abstract classes above. But since they all implement interfaces in the "api" package, and those are marked ConsumerType, I currently don't have these classes marked at all. (Then again, by the same logic I don't need to mark the abstract classes above either.) * POJOs. These are mostly classes which represent common collections of parameters or common collections of return information (such as a query result). I currently don't have these marked at all. Is this what I want, or should I be marking some of these differently? Thanks, Jeff.
_______________________________________________ OSGi Developer Mail List [email protected] https://mail.osgi.org/mailman/listinfo/osgi-dev
