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

Reply via email to