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

Author:
  $Id: 2672d40cf3705b2cf21d01530e4bdfa2cdc61764 $

## Field Summary

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

### BUNDLE_NAMESPACE

public static final 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 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 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 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 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 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 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