BundleNamespace
Date: 2016-06-24

org.osgi.framework.namespace

## Class BundleNamespace

- java.lang.Object
- - org.osgi.resource.Namespace
  - - org.osgi.framework.namespace.AbstractWiringNamespace
    - - org.osgi.framework.namespace.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.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `BUNDLE_NAMESPACE` Namespace name for bundle capabilities and requirements.
    `static java.lang.String` | `CAPABILITY_FRAGMENT_ATTACHMENT_DIRECTIVE` The capability directive identifying if and when a fragment may attach to a host bundle.
    `static java.lang.String` | `CAPABILITY_SINGLETON_DIRECTIVE` The capability directive identifying if the resource is a singleton.
    `static java.lang.String` | `REQUIREMENT_EXTENSION_DIRECTIVE` The requirement directive used to specify the type of the extension fragment.
    `static java.lang.String` | `REQUIREMENT_VISIBILITY_DIRECTIVE` The requirement directive used to specify the visibility type for a requirement.
    `static java.lang.String` | `VISIBILITY_PRIVATE` The directive value identifying a private `visibility` type.
    `static java.lang.String` | `VISIBILITY_REEXPORT` The directive value identifying a reexport `visibility` type.

    - ### Fields inherited from class org.osgi.framework.namespace.AbstractWiringNamespace

      `CAPABILITY_BUNDLE_VERSION_ATTRIBUTE, CAPABILITY_MANDATORY_DIRECTIVE`

    - ### Fields inherited from class org.osgi.resource.Namespace

      `CAPABILITY_EFFECTIVE_DIRECTIVE, CAPABILITY_USES_DIRECTIVE, CARDINALITY_MULTIPLE, CARDINALITY_SINGLE, EFFECTIVE_ACTIVE, EFFECTIVE_RESOLVE, REQUIREMENT_CARDINALITY_DIRECTIVE, REQUIREMENT_EFFECTIVE_DIRECTIVE, REQUIREMENT_FILTER_DIRECTIVE, REQUIREMENT_RESOLUTION_DIRECTIVE, RESOLUTION_MANDATORY, RESOLUTION_OPTIONAL`

  - ### Method Summary

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### BUNDLE_NAMESPACE

          public static final java.lang.String BUNDLE_NAMESPACE

      Namespace name for bundle capabilities and requirements.

      Also, the capability attribute used to specify the symbolic name of the bundle.

      See Also:
        Constant Field Values

    - #### CAPABILITY_SINGLETON_DIRECTIVE

          public static final java.lang.String CAPABILITY_SINGLETON_DIRECTIVE

      The capability directive identifying if the resource is a singleton. A `String` value of "`true`" indicates the resource is a singleton; any other value or `null` indicates the resource is not a singleton.

      This directive should be examined using the `identity` namespace.

      See Also:
        `IdentityNamespace.CAPABILITY_SINGLETON_DIRECTIVE`, Constant Field Values

    - #### CAPABILITY_FRAGMENT_ATTACHMENT_DIRECTIVE

          public static final java.lang.String CAPABILITY_FRAGMENT_ATTACHMENT_DIRECTIVE

      The capability directive identifying if and when a fragment may attach to a host bundle.

      This directive should be examined using the `host` namespace.

      See Also:
        `HostNamespace.CAPABILITY_FRAGMENT_ATTACHMENT_DIRECTIVE`, Constant Field Values

    - #### REQUIREMENT_EXTENSION_DIRECTIVE

          public static final java.lang.String REQUIREMENT_EXTENSION_DIRECTIVE

      The requirement directive used to specify the type of the extension fragment.

      This directive should be examined using the `host` namespace.

      See Also:
        `HostNamespace.REQUIREMENT_EXTENSION_DIRECTIVE`, Constant Field Values

    - #### REQUIREMENT_VISIBILITY_DIRECTIVE

          public static final java.lang.String REQUIREMENT_VISIBILITY_DIRECTIVE

      The requirement directive used to specify the visibility type for a requirement. The default value is `private`.
      See Also:
        `private`, `reexport`, Constant Field Values

    - #### VISIBILITY_PRIVATE

          public static final java.lang.String VISIBILITY_PRIVATE

      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. .
      See Also:
        `REQUIREMENT_VISIBILITY_DIRECTIVE`, Constant Field Values

    - #### VISIBILITY_REEXPORT

          public static final java.lang.String VISIBILITY_REEXPORT

      The directive value identifying a reexport `visibility` type. A reexport visibility type indicates any `packages` that are exported by the required bundle are re-exported by the requiring bundle.
      See Also:
        `REQUIREMENT_VISIBILITY_DIRECTIVE`, Constant Field Values