OSGi™ Annotation
Release 6

org.osgi.annotation.versioning
Annotation Type ConsumerType


@Documented
@Retention(value=CLASS)
@Target(value=TYPE)
public @interface ConsumerType

A type implemented by the Consumer Role.

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.

See Also:
Semantic Versioning


OSGi™ Annotation
Release 6

Copyright © OSGi Alliance (2000, 2015). All Rights Reserved. Licensed under the OSGi Specification License, Version 2.0