|
OSGi™ Annotation Release 6 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |
@Documented @Retention(value=CLASS) @Target(value=TYPE) public @interface ProviderType
A type implemented by the Provider Role.
A non-binary compatible change to a provider type normally requires incrementing the minor version of the type's package. This change will require all providers to be updated to handle the change, but consumers of that package will not require changes since they only use, and do not implement, the provider type.
A type can be marked ConsumerType
or ProviderType
but not
both. A type is assumed to be ConsumerType
if it is not marked either
ConsumerType
or ProviderType
.
This annotation is not retained at runtime. It is for use by tools to understand the semantic version of a package. When a bundle implements a provider type from an imported package, then the bundle's import range for that package must require the package's exact major and minor version.
|
OSGi™ Annotation Release 6 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |