aQute.bnd.annotation.headers
Annotation Type ProvideCapability


@Retention(value=CLASS)
@Target(value={ANNOTATION_TYPE,TYPE})
public @interface ProvideCapability

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 {


Required Element Summary
 String ns
          The capability namespace.
 
Optional Element Summary
 String effective
          Effective time.
 String[] mandatory
          Mandatory attributes.
 String name
          The name of the capability.
 String[] uses
          The uses directive lists package names that are used by this Capability.
 String value
          Appended at the end of the clause (after a ';').
 String version
          The version of the capability.
 

Element Detail

ns

public abstract String ns
The capability namespace. For example: osgi.contract.

value

public abstract String value
Appended at the end of the clause (after a ';'). Can be used to add additional attributes and directives.

Default:
""

name

public abstract String name
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 the value() to be used to specify the name of the capability, if needed. For example aQute.sse.

Default:
""

version

public abstract String version
The version of the capability. This must be a valid OSGi version.

Default:
""

effective

public abstract String effective
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

public abstract String[] uses
The uses directive lists package names that are used by this Capability. This information is intended to be used for uses constraints,

Default:
{}

mandatory

public abstract String[] mandatory
Mandatory attributes. Forces the resolver to only satisfy filters that refer to all listed attributes.

Default:
{}


Copyright © 2014 aQute SARL. All rights reserved.