Class BundleNamespace


public final class BundleNamespace extends AbstractWiringNamespace
Bundle Capability and Requirement Namespace.

This class defines the names for the attributes and directives for this namespace. All unspecified capability attributes are of type String and are used as arbitrary matching attributes for the capability. The values associated with the specified directive and attribute keys are of type String, unless otherwise indicated.

Unless otherwise noted, all directives specified on the Bundle-SymbolicName header are visible in the capability and all directives specified on the Require-Bundle header are visible in the requirement.

  • The uses directive must be ignored. A uses directive specified on the Bundle-SymbolicName header must be ignored. A uses directive must not be present in the capability.
  • The effective directives must be ignored. This namespace is only effective at resolve time. An effective directive specified on the Bundle-SymbolicName or Require-Bundle headers must be ignored. An effective directive must not be present in a capability or requirement.
  • The cardinality directive must be ignored. A cardinality directive specified on the Require-Bundle header must be ignored. A cardinality directive must not be present in a requirement.

A non-fragment resource with the osgi.bundle type identity provides exactly one bundle capability (that is, the bundle can be required by another bundle). A fragment resource with the osgi.fragment type identity must not declare a bundle capability. A resource requires zero or more bundle requirements (that is, required bundles).

† A resource with no symbolic name must not provide a bundle capability.