Package aQute.bnd.annotation.headers
Annotation Interface ProvideCapability
Deprecated.
Define a Provide Capability clause in the manifest.
Since this annotation can only be applied once, it is possible to create an annotation that models a specific capability. For example:
interface Webserver { @ProvideCapability(ns = "osgi.extender", name = "aQute.webserver", version = "${@version}") @interface Provide {} @RequireCapability(ns = "osgi.extender", filter = "(&(osgi.extender=aQute.webserver)${frange;${@version}})") @interface Require {} } @Webserver.Provide public class MyWebserver {}
-
Required Element Summary
-
Optional Element Summary
Modifier and TypeOptional ElementDescriptionDeprecated.Effective time.String[]
Deprecated.Mandatory attributes.Deprecated.The name of the capability.String[]
Deprecated.The uses directive lists package names that are used by this Capability.Deprecated.Appended at the end of the clause (after a ';').Deprecated.The version of the capability.
-
Element Details
-
ns
String nsDeprecated.The capability namespace. For example:osgi.contract
.
-
-
-
value
String valueDeprecated.Appended at the end of the clause (after a ';'). Can be used to add additional attributes and directives.- Default:
- ""
-
name
String nameDeprecated.The name of the capability. If this is set, a property will be added as {ns}={name}. This is the custom pattern for OSGi namespaces. Leaving this unfilled, requires thevalue()
to be used to specify the name of the capability, if needed. For exampleaQute.sse
.- Default:
- ""
-
version
String versionDeprecated.The version of the capability. This must be a valid OSGi version.- Default:
- ""
-
effective
String effectiveDeprecated.Effective time. Specifies the time a capability is available, either resolve (default) or another name. The OSGi framework resolver only considers Capabilities without an effective directive or effective:=resolve. Capabilities with other values for the effective directive can be considered by an external agent.- Default:
- "resolve"
-
uses
String[] usesDeprecated.The uses directive lists package names that are used by this Capability. This information is intended to be used for uses constraints,- Default:
- {}
-
mandatory
String[] mandatoryDeprecated.Mandatory attributes. Forces the resolver to only satisfy filters that refer to all listed attributes.- Default:
- {}
-
org.osgi.annotation.bundle.Capability