Class HostNamespace


public final class HostNamespace extends AbstractWiringNamespace
Host 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 Fragment-Host 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 Fragment-Host headers must be ignored. An effective directive must not be present in a capability or requirement.
  • The cardinality directive has limited applicability to this namespace. A cardinality directive specified on the Fragment-Host header must be ignored. All requirements must have the cardinality directive set to multiple.

A non-fragment resource with the osgi.bundle type identity provides zero or one host capabilities. A fragment resource with the osgi.fragment type identity must not declare a host capability and must declare exactly one host requirement.

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