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 effectivedirectives 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.

The directive value identifying a private
visibility type. A private
visibility type indicates that any packages that
are exported by the required bundle are not made visible on the export
signature of the requiring bundle. .