Annotation Interface ProvideCapability


@Deprecated @Retention(CLASS) @Target({ANNOTATION_TYPE,TYPE}) public @interface ProvideCapability
Deprecated.
see org.osgi.annotation.bundle.Capability
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

    Required Elements
    Modifier and Type
    Required Element
    Description
    Deprecated.
    The capability namespace.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Deprecated.
    Effective time.
    Deprecated.
    Mandatory attributes.
    Deprecated.
    The name of the capability.
    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 ns
      Deprecated.
      The capability namespace. For example: osgi.contract.
    • value

      String value
      Deprecated.
      Appended at the end of the clause (after a ';'). Can be used to add additional attributes and directives.
      Default:
      ""
    • name

      String name
      Deprecated.
      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

      String version
      Deprecated.
      The version of the capability. This must be a valid OSGi version.
      Default:
      ""
    • effective

      String effective
      Deprecated.
      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[] uses
      Deprecated.
      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[] mandatory
      Deprecated.
      Mandatory attributes. Forces the resolver to only satisfy filters that refer to all listed attributes.
      Default:
      {}