@Documented @Retention(value=CLASS) @Target(value=TYPE) public @interface ConsumerType
A non-binary compatible change to a consumer type normally requires incrementing the major version of the type's package. This change will require all providers and all consumers to be updated to handle the change since consumers implement the consumer type and all providers must understand the change in the consumer 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 consumer type from an imported package, then the bundle's import range for that package must require the exact major version and a minor version greater than or equal to the package's version.
Copyright © 2018 OSGi Alliance. All rights reserved.