org.osgi.framework

## Interface Constants

All Known Subinterfaces:
  FelixConstants

    @ProviderType
    public interface Constants

Defines standard names for the OSGi environment system properties, service properties, and Manifest header attribute keys.

The values associated with these keys are of type `String`, unless otherwise indicated.

Since:
  1.1
Author:
  $Id: 41e648afb56767a610f279a9c7effef47dfcbf2e $

### Field Summary

Fields
`static String` `ACTIVATION_LAZY` Bundle activation policy declaring the bundle must be activated when the first class load is made from the bundle.
`static String` `BUNDLE_ACTIVATIONPOLICY` Manifest header identifying the bundle's activation policy.
`static String` `BUNDLE_ACTIVATOR` Manifest header identifying the bundle's activator class.
`static String` `BUNDLE_CATEGORY` Manifest header identifying the bundle's category.
`static String` `BUNDLE_CLASSPATH` Manifest header identifying a list of directories and embedded JAR files, which are bundle resources used to extend the bundle's classpath.
`static String` `BUNDLE_CONTACTADDRESS` Manifest header identifying the contact address where problems with the bundle may be reported; for example, an email address.
`static String` `BUNDLE_COPYRIGHT` Manifest header identifying the bundle's copyright information.
`static String` `BUNDLE_DESCRIPTION` Manifest header containing a brief description of the bundle's functionality.
`static String` `BUNDLE_DEVELOPERS` Manifest header identifying the bundle's developers.
`static String` `BUNDLE_DOCURL` Manifest header identifying the bundle's documentation URL, from which further information about the bundle may be obtained.
`static String` `BUNDLE_ICON` Manifest header identifying the bundle's icon URLs.
`static String` `BUNDLE_LICENSE` Manifest header identifying the bundle's license information.
`static String` `BUNDLE_LOCALIZATION` Manifest header identifying the base name of the bundle's localization entries.
`static String` `BUNDLE_LOCALIZATION_DEFAULT_BASENAME` Default value for the `Bundle-Localization` manifest header.
`static String` `BUNDLE_MANIFESTVERSION` Manifest header identifying the bundle manifest version.
`static String` `BUNDLE_NAME` Manifest header identifying the bundle's name.
`static String` `BUNDLE_NATIVECODE` Manifest header identifying a number of hardware environments and the native language code libraries that the bundle is carrying for each of these environments.
`static String` `BUNDLE_NATIVECODE_LANGUAGE` Manifest header attribute identifying the language in which the native bundle code is written specified in the Bundle-NativeCode manifest header.
`static String` `BUNDLE_NATIVECODE_OSNAME` Manifest header attribute identifying the operating system required to run native bundle code specified in the Bundle-NativeCode manifest header).
`static String` `BUNDLE_NATIVECODE_OSVERSION` Manifest header attribute identifying the operating system version required to run native bundle code specified in the Bundle-NativeCode manifest header).
`static String` `BUNDLE_NATIVECODE_PROCESSOR` Manifest header attribute identifying the processor required to run native bundle code specified in the Bundle-NativeCode manifest header).
`static String` `BUNDLE_REQUIREDEXECUTIONENVIRONMENT` Deprecated. As of 1.6. Replaced by the `osgi.ee` capability.
`static String` `BUNDLE_SCM` Manifest header identifying the bundle's software configuration management system.
`static String` `BUNDLE_SYMBOLICNAME` Manifest header identifying the bundle's symbolic name.
`static String` `BUNDLE_SYMBOLICNAME_ATTRIBUTE` Manifest header attribute identifying the symbolic name of a bundle that exports a package specified in the Import-Package manifest header.
`static String` `BUNDLE_UPDATELOCATION` Manifest header identifying the location from which a new bundle version is obtained during a bundle update operation.
`static String` `BUNDLE_VENDOR` Manifest header identifying the bundle's vendor.
`static String` `BUNDLE_VERSION` Manifest header identifying the bundle's version.
`static String` `BUNDLE_VERSION_ATTRIBUTE` Manifest header attribute identifying a range of versions for a bundle specified in the `Require-Bundle` or `Fragment-Host` manifest headers.
`static String` `DYNAMICIMPORT_PACKAGE` Manifest header identifying the packages that the bundle may dynamically import during execution.
`static String` `EFFECTIVE_ACTIVE` Manifest header directive value identifying a capability that is effective at active time.
`static String` `EFFECTIVE_DIRECTIVE` Manifest header directive identifying the effective time of the provided capability.
`static String` `EFFECTIVE_RESOLVE` Manifest header directive value identifying a capability that is effective at resolve time.
`static String` `EXCLUDE_DIRECTIVE` Manifest header directive identifying a list of classes to exclude in the exported package..
`static String` `EXPORT_PACKAGE` Manifest header identifying the packages that the bundle offers to the Framework for export.
`static String` `EXPORT_SERVICE` Deprecated. As of 1.2.
`static String` `EXTENSION_BOOTCLASSPATH` Deprecated. As of 1.9.
`static String` `EXTENSION_BUNDLE_ACTIVATOR` Manifest header identifying the extension bundle's activator class.
`static String` `EXTENSION_DIRECTIVE` Manifest header directive identifying the type of the extension fragment.
`static String` `EXTENSION_FRAMEWORK` Manifest header directive value identifying the type of extension fragment.
`static String` `FILTER_DIRECTIVE` Manifest header directive identifying the capability filter specified in the Require-Capability manifest header.
`static String` `FRAGMENT_ATTACHMENT_ALWAYS` Manifest header directive value identifying a fragment attachment type of always.
`static String` `FRAGMENT_ATTACHMENT_DIRECTIVE` Manifest header directive identifying if and when a fragment may attach to a host bundle.
`static String` `FRAGMENT_ATTACHMENT_NEVER` Manifest header directive value identifying a fragment attachment type of never.
`static String` `FRAGMENT_ATTACHMENT_RESOLVETIME` Manifest header directive value identifying a fragment attachment type of resolve-time.
`static String` `FRAGMENT_HOST` Manifest header identifying the symbolic name of another bundle for which that the bundle is a fragment.
`static String` `FRAMEWORK_BEGINNING_STARTLEVEL` Framework launching property specifying the beginning start level of the framework.
`static String` `FRAMEWORK_BOOTDELEGATION` Framework launching property identifying packages for which the Framework must delegate class loading to the parent class loader of the bundle.
`static String` `FRAMEWORK_BSNVERSION` Framework launching property specifying whether multiple bundles having the same `symbolic name` and `version` may be installed.
`static String` `FRAMEWORK_BSNVERSION_MANAGED` Specifies the framework must consult the `bundle collision hook` services to determine if it will be an error to install a bundle or update a bundle to have the same symbolic name and version as another installed bundle.
`static String` `FRAMEWORK_BSNVERSION_MULTIPLE` Specifies the framework will allow multiple bundles to be installed having the same symbolic name and version.
`static String` `FRAMEWORK_BSNVERSION_SINGLE` Specifies the framework will only allow a single bundle to be installed for a given symbolic name and version.
`static String` `FRAMEWORK_BUNDLE_PARENT` Framework launching property specifying the parent class loader type for all bundle class loaders.
`static String` `FRAMEWORK_BUNDLE_PARENT_APP` Specifies to use the application class loader as the parent class loader for all bundle class loaders.
`static String` `FRAMEWORK_BUNDLE_PARENT_BOOT` Specifies to use of the boot class loader as the parent class loader for all bundle class loaders.
`static String` `FRAMEWORK_BUNDLE_PARENT_EXT` Specifies to use the extension class loader as the parent class loader for all bundle class loaders.
`static String` `FRAMEWORK_BUNDLE_PARENT_FRAMEWORK` Specifies to use the framework class loader as the parent class loader for all bundle class loaders.
`static String` `FRAMEWORK_COMMAND_ABSPATH` Specified the substitution string for the absolute path of a file.
`static String` `FRAMEWORK_EXECPERMISSION` Framework launching property specifying an optional OS specific command to set file permissions on extracted native code.
`static String` `FRAMEWORK_EXECUTIONENVIRONMENT` Deprecated. As of 1.6. Replaced by the `osgi.ee` capability.
`static String` `FRAMEWORK_LANGUAGE` Framework launching property identifying the Framework implementation language (see ISO 639 for possible values).
`static String` `FRAMEWORK_LIBRARY_EXTENSIONS` Framework launching property specifying a comma separated list of additional library file extensions that must be used when a bundle's class loader is searching for native libraries.
`static String` `FRAMEWORK_OS_NAME` Framework launching property identifying the Framework host-computer's operating system.
`static String` `FRAMEWORK_OS_VERSION` Framework launching property identifying the Framework host-computer's operating system version number.
`static String` `FRAMEWORK_PROCESSOR` Framework launching property identifying the Framework host-computer's processor name.
`static String` `FRAMEWORK_SECURITY` Framework launching property specifying the type of security manager the framework must use.
`static String` `FRAMEWORK_SECURITY_OSGI` Specifies that a security manager that supports all security aspects of the OSGi core specification including postponed conditions must be installed.
`static String` `FRAMEWORK_STORAGE` Framework launching property specifying the persistent storage area used by the framework.
`static String` `FRAMEWORK_STORAGE_CLEAN` Framework launching property specifying if and when the persistent storage area for the framework should be cleaned.
`static String` `FRAMEWORK_STORAGE_CLEAN_ONFIRSTINIT` Specifies that the framework storage area must be cleaned before the framework is initialized for the first time.
`static String` `FRAMEWORK_SYSTEMCAPABILITIES` Framework launching property identifying capabilities which the system bundle must provide.
`static String` `FRAMEWORK_SYSTEMCAPABILITIES_EXTRA` Framework launching property identifying extra capabilities which the system bundle must additionally provide.
`static String` `FRAMEWORK_SYSTEMPACKAGES` Framework launching property identifying packages which the system bundle must export.
`static String` `FRAMEWORK_SYSTEMPACKAGES_EXTRA` Framework launching property identifying extra packages which the system bundle must export from the current execution environment.
`static String` `FRAMEWORK_TRUST_REPOSITORIES` Framework launching property specifying the trust repositories used by the framework.
`static String` `FRAMEWORK_UUID` Framework environment property identifying the Framework's universally unique identifier (UUID).
`static String` `FRAMEWORK_VENDOR` Framework environment property identifying the Framework implementation vendor.
`static String` `FRAMEWORK_VERSION` Framework environment property identifying the Framework version.
`static String` `FRAMEWORK_WINDOWSYSTEM` Framework launching property specifying the current windowing system.
`static String` `IMPORT_PACKAGE` Manifest header identifying the packages on which the bundle depends.
`static String` `IMPORT_SERVICE` Deprecated. As of 1.2.
`static String` `INCLUDE_DIRECTIVE` Manifest header directive identifying a list of classes to include in the exported package.
`static String` `INTENT_ASYNC` Intent supported by Remote Service implementations that support Asynchronous Remote Services as defined for the `osgi.async` intent.
`static String` `INTENT_BASIC` Intent supported by Remote Services implementations that support Basic Remote Services as defined for the `osgi.basic` intent.
`static String` `INTENT_CONFIDENTIAL` Intent supported by Remote Service implementation that provide confidential communications as defined for the `osgi.confidential` intent.
`static String` `INTENT_PRIVATE` Intent supported by Remote Service implementations that provide private communications as defined for the `osgi.private` intent.
`static String` `MANDATORY_DIRECTIVE` Manifest header directive identifying names of matching attributes which must be specified by matching Import-Package statements in the Export-Package manifest header.
`static String` `OBJECTCLASS` Service property identifying all of the class names under which a service was registered in the Framework.
`static String` `PACKAGE_SPECIFICATION_VERSION` Deprecated. As of 1.3. This has been replaced by `VERSION_ATTRIBUTE`.
`static String` `PROVIDE_CAPABILITY` Manifest header identifying the capabilities that the bundle offers to provide to other bundles.
`static String` `REMOTE_CONFIGS_SUPPORTED` Service property identifying the configuration types supported by a distribution provider.
`static String` `REMOTE_INTENTS_SUPPORTED` Service property identifying the intents supported by a distribution provider.
`static String` `REQUIRE_BUNDLE` Manifest header identifying the symbolic names of other bundles required by the bundle.
`static String` `REQUIRE_CAPABILITY` Manifest header identifying the capabilities on which the bundle depends.
`static String` `RESOLUTION_DIRECTIVE` Manifest header directive identifying the resolution type in the Import-Package, Require-Bundle or Require-Capability manifest header.
`static String` `RESOLUTION_MANDATORY` Manifest header directive value identifying a mandatory resolution type.
`static String` `RESOLUTION_OPTIONAL` Manifest header directive value identifying an optional resolution type.
`static String` `SCOPE_BUNDLE` Service scope is bundle.
`static String` `SCOPE_PROTOTYPE` Service scope is prototype.
`static String` `SCOPE_SINGLETON` Service scope is singleton.
`static String` `SELECTION_FILTER_ATTRIBUTE` Manifest header attribute is used for selection by filtering based upon system properties.
`static String` `SERVICE_BUNDLEID` Service property identifying the `bundle id` of the `bundle registering the service`.
`static String` `SERVICE_CHANGECOUNT` Service property identifying the monotonically increasing change count of a service.
`static String` `SERVICE_DESCRIPTION` Service property identifying a service's description.
`static String` `SERVICE_EXPORTED_CONFIGS` Service property identifying the configuration types that should be used to export the service.
`static String` `SERVICE_EXPORTED_INTENTS` Service property identifying the intents that the distribution provider must implement to distribute the service.
`static String` `SERVICE_EXPORTED_INTENTS_EXTRA` Service property identifying the extra intents that the distribution provider must implement to distribute the service.
`static String` `SERVICE_EXPORTED_INTERFACES` Service property marking the service for export.
`static String` `SERVICE_ID` Service property identifying a service's registration number.
`static String` `SERVICE_IMPORTED` Service property identifying the service as imported.
`static String` `SERVICE_IMPORTED_CONFIGS` Service property identifying the configuration types used to import the service.
`static String` `SERVICE_INTENTS` Service property identifying the intents that this service implement.
`static String` `SERVICE_PID` Service property identifying a service's persistent identifier.
`static String` `SERVICE_RANKING` Service property identifying a service's ranking number.
`static String` `SERVICE_SCOPE` Service property identifying a service's scope.
`static String` `SERVICE_VENDOR` Service property identifying a service's vendor.
`static String` `SINGLETON_DIRECTIVE` Manifest header directive identifying whether a bundle is a singleton.
`static String` `SUPPORTS_BOOTCLASSPATH_EXTENSION` Framework environment property identifying whether the Framework supports bootclasspath extension bundles.
`static String` `SUPPORTS_FRAMEWORK_EXTENSION` Framework environment property identifying whether the Framework supports framework extension bundles.
`static String` `SUPPORTS_FRAMEWORK_FRAGMENT` Framework environment property identifying whether the Framework supports fragment bundles.
`static String` `SUPPORTS_FRAMEWORK_REQUIREBUNDLE` Framework environment property identifying whether the Framework supports the `Require-Bundle` manifest header.
`static long` `SYSTEM_BUNDLE_ID` Identifier of the OSGi system bundle , which is defined to be `0`.
`static String` `SYSTEM_BUNDLE_LOCATION` Location identifier of the OSGi system bundle , which is defined to be "System Bundle".
`static String` `SYSTEM_BUNDLE_SYMBOLICNAME` Alias for the symbolic name of the OSGi system bundle .
`static String` `USES_DIRECTIVE` Manifest header directive identifying a list of packages that an exported package or provided capability uses.
`static String` `VERSION_ATTRIBUTE` Manifest header attribute identifying the version of a package specified in the Export-Package or Import-Package manifest header.
`static String` `VISIBILITY_DIRECTIVE` Manifest header directive identifying the visibility of a required bundle in the Require-Bundle manifest header.
`static String` `VISIBILITY_PRIVATE` Manifest header directive value identifying a private visibility type.
`static String` `VISIBILITY_REEXPORT` Manifest header directive value identifying a reexport visibility type.

### Field Detail

#### SYSTEM_BUNDLE_LOCATION

    static final String SYSTEM_BUNDLE_LOCATION

Location identifier of the OSGi system bundle , which is defined to be "System Bundle".

See Also:
  Constant Field Values

#### SYSTEM_BUNDLE_SYMBOLICNAME

    static final String SYSTEM_BUNDLE_SYMBOLICNAME

Alias for the symbolic name of the OSGi system bundle . It is defined to be "system.bundle".

Since:
  1.3
See Also:
  Constant Field Values

#### SYSTEM_BUNDLE_ID

    static final long SYSTEM_BUNDLE_ID

Identifier of the OSGi system bundle , which is defined to be `0`.

Since:
  1.8
See Also:
  Constant Field Values

#### BUNDLE_CATEGORY

    static final String BUNDLE_CATEGORY

Manifest header identifying the bundle's category.

The header value may be retrieved from the `Dictionary` object returned by the `Bundle.getHeaders` method.

See Also:
  Constant Field Values

#### BUNDLE_CLASSPATH

    static final String BUNDLE_CLASSPATH

Manifest header identifying a list of directories and embedded JAR files, which are bundle resources used to extend the bundle's classpath.

The header value may be retrieved from the `Dictionary` object returned by the `Bundle.getHeaders` method.

See Also:
  Constant Field Values

#### BUNDLE_COPYRIGHT

    static final String BUNDLE_COPYRIGHT

Manifest header identifying the bundle's copyright information.

The header value may be retrieved from the `Dictionary` object returned by the `Bundle.getHeaders` method.

See Also:
  Constant Field Values

#### BUNDLE_DESCRIPTION

    static final String BUNDLE_DESCRIPTION

Manifest header containing a brief description of the bundle's functionality.

The header value may be retrieved from the `Dictionary` object returned by the `Bundle.getHeaders` method.

See Also:
  Constant Field Values

#### BUNDLE_NAME

    static final String BUNDLE_NAME

Manifest header identifying the bundle's name.

The header value may be retrieved from the `Dictionary` object returned by the `Bundle.getHeaders` method.

See Also:
  Constant Field Values

#### BUNDLE_NATIVECODE

    static final String BUNDLE_NATIVECODE

Manifest header identifying a number of hardware environments and the native language code libraries that the bundle is carrying for each of these environments.

The header value may be retrieved from the `Dictionary` object returned by the `Bundle.getHeaders` method.

See Also:
  Constant Field Values

#### EXPORT_PACKAGE

    static final String EXPORT_PACKAGE

Manifest header identifying the packages that the bundle offers to the Framework for export.

The header value may be retrieved from the `Dictionary` object returned by the `Bundle.getHeaders` method.

See Also:
  Constant Field Values

#### EXPORT_SERVICE

    static final String EXPORT_SERVICE

Deprecated. As of 1.2.
Manifest header identifying the fully qualified class names of the services that the bundle may register (used for informational purposes only).

The header value may be retrieved from the `Dictionary` object returned by the `Bundle.getHeaders` method.

See Also:
  Constant Field Values

#### IMPORT_PACKAGE

    static final String IMPORT_PACKAGE

Manifest header identifying the packages on which the bundle depends.

The header value may be retrieved from the `Dictionary` object returned by the `Bundle.getHeaders` method.

See Also:
  Constant Field Values

#### DYNAMICIMPORT_PACKAGE

    static final String DYNAMICIMPORT_PACKAGE

Manifest header identifying the packages that the bundle may dynamically import during execution.

The header value may be retrieved from the `Dictionary` object returned by the `Bundle.getHeaders` method.

Since:
  1.2
See Also:
  Constant Field Values

#### IMPORT_SERVICE

    static final String IMPORT_SERVICE

Deprecated. As of 1.2.
Manifest header identifying the fully qualified class names of the services that the bundle requires (used for informational purposes only).

The header value may be retrieved from the `Dictionary` object returned by the `Bundle.getHeaders` method.

See Also:
  Constant Field Values

#### BUNDLE_VENDOR

    static final String BUNDLE_VENDOR

Manifest header identifying the bundle's vendor.

The header value may be retrieved from the `Dictionary` object returned by the `Bundle.getHeaders` method.

See Also:
  Constant Field Values

#### BUNDLE_VERSION

    static final String BUNDLE_VERSION

Manifest header identifying the bundle's version.

The header value may be retrieved from the `Dictionary` object returned by the `Bundle.getHeaders` method.

See Also:
  Constant Field Values

#### BUNDLE_DOCURL

    static final String BUNDLE_DOCURL

Manifest header identifying the bundle's documentation URL, from which further information about the bundle may be obtained.

The header value may be retrieved from the `Dictionary` object returned by the `Bundle.getHeaders` method.

See Also:
  Constant Field Values

#### BUNDLE_CONTACTADDRESS

    static final String BUNDLE_CONTACTADDRESS

Manifest header identifying the contact address where problems with the bundle may be reported; for example, an email address.

The header value may be retrieved from the `Dictionary` object returned by the `Bundle.getHeaders` method.

See Also:
  Constant Field Values

#### BUNDLE_ACTIVATOR

    static final String BUNDLE_ACTIVATOR

Manifest header identifying the bundle's activator class.

If present, this header specifies the name of the bundle resource class that implements the `BundleActivator` interface and whose `start` and `stop` methods are called by the Framework when the bundle is started and stopped, respectively.

The header value may be retrieved from the `Dictionary` object returned by the `Bundle.getHeaders` method.

See Also:
  Constant Field Values

#### EXTENSION_BUNDLE_ACTIVATOR

    static final String EXTENSION_BUNDLE_ACTIVATOR

Manifest header identifying the extension bundle's activator class.

If present, this header specifies the name of the extension bundle resource class that implements the `BundleActivator` interface and whose `start` and `stop` methods are called by the Framework when the Framework is initialized and shutdown, respectively.

Since:
  1.8
See Also:
  Constant Field Values

#### BUNDLE_UPDATELOCATION

    static final String BUNDLE_UPDATELOCATION

Manifest header identifying the location from which a new bundle version is obtained during a bundle update operation.

The header value may be retrieved from the `Dictionary` object returned by the `Bundle.getHeaders` method.

See Also:
  Constant Field Values

#### PACKAGE_SPECIFICATION_VERSION

    static final String PACKAGE_SPECIFICATION_VERSION

Deprecated. As of 1.3. This has been replaced by `VERSION_ATTRIBUTE`.
Manifest header attribute identifying the version of a package specified in the Export-Package or Import-Package manifest header.

See Also:
  Constant Field Values

#### BUNDLE_NATIVECODE_PROCESSOR

    static final String BUNDLE_NATIVECODE_PROCESSOR

Manifest header attribute identifying the processor required to run native bundle code specified in the Bundle-NativeCode manifest header).

The attribute value is encoded in the Bundle-NativeCode manifest header like:

         Bundle-NativeCode: http.so ; processor=x86 ...

See Also:
  `BUNDLE_NATIVECODE`, Constant Field Values

#### BUNDLE_NATIVECODE_OSNAME

    static final String BUNDLE_NATIVECODE_OSNAME

Manifest header attribute identifying the operating system required to run native bundle code specified in the Bundle-NativeCode manifest header).

The attribute value is encoded in the Bundle-NativeCode manifest header like:

         Bundle-NativeCode: http.so ; osname=Linux ...

See Also:
  `BUNDLE_NATIVECODE`, Constant Field Values

#### BUNDLE_NATIVECODE_OSVERSION

    static final String BUNDLE_NATIVECODE_OSVERSION

Manifest header attribute identifying the operating system version required to run native bundle code specified in the Bundle-NativeCode manifest header).

The attribute value is encoded in the Bundle-NativeCode manifest header like:

         Bundle-NativeCode: http.so ; osversion="2.34" ...

See Also:
  `BUNDLE_NATIVECODE`, Constant Field Values

#### BUNDLE_NATIVECODE_LANGUAGE

    static final String BUNDLE_NATIVECODE_LANGUAGE

Manifest header attribute identifying the language in which the native bundle code is written specified in the Bundle-NativeCode manifest header. See ISO 639 for possible values.

The attribute value is encoded in the Bundle-NativeCode manifest header like:

         Bundle-NativeCode: http.so ; language=nl_be ...

See Also:
  `BUNDLE_NATIVECODE`, Constant Field Values

#### BUNDLE_REQUIREDEXECUTIONENVIRONMENT

    static final String BUNDLE_REQUIREDEXECUTIONENVIRONMENT

Deprecated. As of 1.6. Replaced by the `osgi.ee` capability.
Manifest header identifying the required execution environment for the bundle. The service platform may run this bundle if any of the execution environments named in this header matches one of the execution environments it implements.

The header value may be retrieved from the `Dictionary` object returned by the `Bundle.getHeaders` method.

Since:
  1.2
See Also:
  Constant Field Values

#### BUNDLE_SYMBOLICNAME

    static final String BUNDLE_SYMBOLICNAME

Manifest header identifying the bundle's symbolic name.

The header value may be retrieved from the `Dictionary` object returned by the `Bundle.getHeaders` method.

Since:
  1.3
See Also:
  Constant Field Values

#### SINGLETON_DIRECTIVE

    static final String SINGLETON_DIRECTIVE

Manifest header directive identifying whether a bundle is a singleton. The default value is `false`.

The directive value is encoded in the Bundle-SymbolicName manifest header like:

         Bundle-SymbolicName: com.acme.module.test; singleton:=true

Since:
  1.3
See Also:
  `BUNDLE_SYMBOLICNAME`, Constant Field Values

#### FRAGMENT_ATTACHMENT_DIRECTIVE

    static final String FRAGMENT_ATTACHMENT_DIRECTIVE

Manifest header directive identifying if and when a fragment may attach to a host bundle. The default value is `always`.

The directive value is encoded in the Bundle-SymbolicName manifest header like:

         Bundle-SymbolicName: com.acme.module.test; fragment-attachment:="never"

Since:
  1.3
See Also:
  `BUNDLE_SYMBOLICNAME`, `FRAGMENT_ATTACHMENT_ALWAYS`, `FRAGMENT_ATTACHMENT_RESOLVETIME`, `FRAGMENT_ATTACHMENT_NEVER`, Constant Field Values

#### FRAGMENT_ATTACHMENT_ALWAYS

    static final String FRAGMENT_ATTACHMENT_ALWAYS

Manifest header directive value identifying a fragment attachment type of always. A fragment attachment type of always indicates that fragments are allowed to attach to the host bundle at any time (while the host is resolved or during the process of resolving the host bundle).

The directive value is encoded in the Bundle-SymbolicName manifest header like:

         Bundle-SymbolicName: com.acme.module.test; fragment-attachment:="always"

Since:
  1.3
See Also:
  `FRAGMENT_ATTACHMENT_DIRECTIVE`, Constant Field Values

#### FRAGMENT_ATTACHMENT_RESOLVETIME

    static final String FRAGMENT_ATTACHMENT_RESOLVETIME

Manifest header directive value identifying a fragment attachment type of resolve-time. A fragment attachment type of resolve-time indicates that fragments are allowed to attach to the host bundle only during the process of resolving the host bundle.

The directive value is encoded in the Bundle-SymbolicName manifest header like:

         Bundle-SymbolicName: com.acme.module.test;
           fragment-attachment:="resolve-time"

Since:
  1.3
See Also:
  `FRAGMENT_ATTACHMENT_DIRECTIVE`, Constant Field Values

#### FRAGMENT_ATTACHMENT_NEVER

    static final String FRAGMENT_ATTACHMENT_NEVER

Manifest header directive value identifying a fragment attachment type of never. A fragment attachment type of never indicates that no fragments are allowed to attach to the host bundle at any time.

The directive value is encoded in the Bundle-SymbolicName manifest header like:

         Bundle-SymbolicName: com.acme.module.test; fragment-attachment:="never"

Since:
  1.3
See Also:
  `FRAGMENT_ATTACHMENT_DIRECTIVE`, Constant Field Values

#### BUNDLE_LOCALIZATION

    static final String BUNDLE_LOCALIZATION

Manifest header identifying the base name of the bundle's localization entries.

The header value may be retrieved from the `Dictionary` object returned by the `Bundle.getHeaders` method.

Since:
  1.3
See Also:
  `BUNDLE_LOCALIZATION_DEFAULT_BASENAME`, Constant Field Values

#### BUNDLE_LOCALIZATION_DEFAULT_BASENAME

    static final String BUNDLE_LOCALIZATION_DEFAULT_BASENAME

Default value for the `Bundle-Localization` manifest header.

Since:
  1.3
See Also:
  `BUNDLE_LOCALIZATION`, Constant Field Values

#### REQUIRE_BUNDLE

    static final String REQUIRE_BUNDLE

Manifest header identifying the symbolic names of other bundles required by the bundle.

The header value may be retrieved from the `Dictionary` object returned by the `Bundle.getHeaders` method.

Since:
  1.3
See Also:
  Constant Field Values

#### BUNDLE_VERSION_ATTRIBUTE

    static final String BUNDLE_VERSION_ATTRIBUTE

Manifest header attribute identifying a range of versions for a bundle specified in the `Require-Bundle` or `Fragment-Host` manifest headers. The default value is `0.0.0`.

The attribute value is encoded in the Require-Bundle manifest header like:

         Require-Bundle: com.acme.module.test; bundle-version="1.1"
         Require-Bundle: com.acme.module.test; bundle-version="[1.0,2.0)"

The bundle-version attribute value uses a mathematical interval notation to specify a range of bundle versions. A bundle-version attribute value specified as a single version means a version range that includes any bundle version greater than or equal to the specified version.

Since:
  1.3
See Also:
  `REQUIRE_BUNDLE`, Constant Field Values

#### FRAGMENT_HOST

    static final String FRAGMENT_HOST

Manifest header identifying the symbolic name of another bundle for which that the bundle is a fragment.

The header value may be retrieved from the `Dictionary` object returned by the `Bundle.getHeaders` method.

Since:
  1.3
See Also:
  Constant Field Values

#### SELECTION_FILTER_ATTRIBUTE

    static final String SELECTION_FILTER_ATTRIBUTE

Manifest header attribute is used for selection by filtering based upon system properties.

The attribute value is encoded in manifest headers like:

         Bundle-NativeCode: libgtk.so; selection-filter="(ws=gtk)"; ...

Since:
  1.3
See Also:
  `BUNDLE_NATIVECODE`, Constant Field Values

#### BUNDLE_MANIFESTVERSION

    static final String BUNDLE_MANIFESTVERSION

Manifest header identifying the bundle manifest version. A bundle manifest may express the version of the syntax in which it is written by specifying a bundle manifest version. Bundles exploiting OSGi Release 4, or later, syntax must specify a bundle manifest version.

The bundle manifest version defined by OSGi Release 4 or, more specifically, by version 1.3 of the OSGi Core Specification is "2".

The header value may be retrieved from the `Dictionary` object returned by the `Bundle.getHeaders` method.

Since:
  1.3
See Also:
  Constant Field Values

#### VERSION_ATTRIBUTE

    static final String VERSION_ATTRIBUTE

Manifest header attribute identifying the version of a package specified in the Export-Package or Import-Package manifest header.

The attribute value is encoded in the Export-Package or Import-Package manifest header like:

         Export-Package: org.osgi.framework; version="1.1"

Since:
  1.3
See Also:
  `EXPORT_PACKAGE`, `IMPORT_PACKAGE`, Constant Field Values

#### BUNDLE_SYMBOLICNAME_ATTRIBUTE

    static final String BUNDLE_SYMBOLICNAME_ATTRIBUTE

Manifest header attribute identifying the symbolic name of a bundle that exports a package specified in the Import-Package manifest header.

The attribute value is encoded in the Import-Package manifest header like:

         Import-Package: org.osgi.framework;
           bundle-symbolic-name="com.acme.module.test"

Since:
  1.3
See Also:
  `IMPORT_PACKAGE`, Constant Field Values

#### RESOLUTION_DIRECTIVE

    static final String RESOLUTION_DIRECTIVE

Manifest header directive identifying the resolution type in the Import-Package, Require-Bundle or Require-Capability manifest header. The default value is `mandatory`.

The directive value is encoded in the Import-Package, Require-Bundle or Require-Capability manifest header like:

         Import-Package: org.osgi.framework; resolution:="optional"
         Require-Bundle: com.acme.module.test; resolution:="optional"
         Require-Capability: com.acme.capability; resolution:="optional"

Since:
  1.3
See Also:
  `IMPORT_PACKAGE`, `REQUIRE_BUNDLE`, `REQUIRE_CAPABILITY`, `RESOLUTION_MANDATORY`, `RESOLUTION_OPTIONAL`, Constant Field Values

#### RESOLUTION_MANDATORY

    static final String RESOLUTION_MANDATORY

Manifest header directive value identifying a mandatory resolution type. A mandatory resolution type indicates that the import package, require bundle or require capability must be resolved when the bundle is resolved. If such an import, require bundle or require capability cannot be resolved, the module fails to resolve.

The directive value is encoded in the Import-Package, Require-Bundle or Require-Capability manifest header like:

         Import-Package: org.osgi.framework; resolution:="mandatory"
         Require-Bundle: com.acme.module.test; resolution:="mandatory"
         Require-Capability: com.acme.capability; resolution:="mandatory"

Since:
  1.3
See Also:
  `RESOLUTION_DIRECTIVE`, Constant Field Values

#### RESOLUTION_OPTIONAL

    static final String RESOLUTION_OPTIONAL

Manifest header directive value identifying an optional resolution type. An optional resolution type indicates that the import, require bundle or require capability is optional and the bundle may be resolved without the import, require bundle or require capability being resolved. If the import, require bundle or require capability is not resolved when the bundle is resolved, the import, require bundle or require capability may not be resolved until the bundle is refreshed.

The directive value is encoded in the Import-Package, Require-Bundle or Require-Capability manifest header like:

         Import-Package: org.osgi.framework; resolution:="optional"
         Require-Bundle: com.acme.module.test; resolution:="optional"
         Require-Capability: com.acme.capability; resolution:="optional"

Since:
  1.3
See Also:
  `RESOLUTION_DIRECTIVE`, Constant Field Values

#### USES_DIRECTIVE

    static final String USES_DIRECTIVE

Manifest header directive identifying a list of packages that an exported package or provided capability uses.

The directive value is encoded in the Export-Package or Provide-Capability manifest header like:

         Export-Package: org.osgi.util.tracker; uses:="org.osgi.framework"
         Provide-Capability: com.acme.capability; uses:="com.acme.service"

Since:
  1.3
See Also:
  `EXPORT_PACKAGE`, `PROVIDE_CAPABILITY`, Constant Field Values

#### INCLUDE_DIRECTIVE

    static final String INCLUDE_DIRECTIVE

Manifest header directive identifying a list of classes to include in the exported package.

This directive is used by the Export-Package manifest header to identify a list of classes of the specified package which must be allowed to be exported. The directive value is encoded in the Export-Package manifest header like:

         Export-Package: org.osgi.framework; include:="MyClass*"

This directive is also used by the Bundle-ActivationPolicy manifest header to identify the packages from which class loads will trigger lazy activation. The directive value is encoded in the Bundle-ActivationPolicy manifest header like:

         Bundle-ActivationPolicy: lazy; include:="org.osgi.framework"

Since:
  1.3
See Also:
  `EXPORT_PACKAGE`, `BUNDLE_ACTIVATIONPOLICY`, Constant Field Values

#### EXCLUDE_DIRECTIVE

    static final String EXCLUDE_DIRECTIVE

Manifest header directive identifying a list of classes to exclude in the exported package..

This directive is used by the Export-Package manifest header to identify a list of classes of the specified package which must not be allowed to be exported. The directive value is encoded in the Export-Package manifest header like:

         Export-Package: org.osgi.framework; exclude:="*Impl"

This directive is also used by the Bundle-ActivationPolicy manifest header to identify the packages from which class loads will not trigger lazy activation. The directive value is encoded in the Bundle-ActivationPolicy manifest header like:

         Bundle-ActivationPolicy: lazy; exclude:="org.osgi.framework"

Since:
  1.3
See Also:
  `EXPORT_PACKAGE`, `BUNDLE_ACTIVATIONPOLICY`, Constant Field Values

#### MANDATORY_DIRECTIVE

    static final String MANDATORY_DIRECTIVE

Manifest header directive identifying names of matching attributes which must be specified by matching Import-Package statements in the Export-Package manifest header.

The directive value is encoded in the Export-Package manifest header like:

         Export-Package: org.osgi.framework; mandatory:="bundle-symbolic-name"

Since:
  1.3
See Also:
  `EXPORT_PACKAGE`, Constant Field Values

#### VISIBILITY_DIRECTIVE

    static final String VISIBILITY_DIRECTIVE

Manifest header directive identifying the visibility of a required bundle in the Require-Bundle manifest header. The default value is `private`.

The directive value is encoded in the Require-Bundle manifest header like:

         Require-Bundle: com.acme.module.test; visibility:="reexport"

Since:
  1.3
See Also:
  `REQUIRE_BUNDLE`, `VISIBILITY_PRIVATE`, `VISIBILITY_REEXPORT`, Constant Field Values

#### VISIBILITY_PRIVATE

    static final String VISIBILITY_PRIVATE

Manifest header 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.

The directive value is encoded in the Require-Bundle manifest header like:

         Require-Bundle: com.acme.module.test; visibility:="private"

Since:
  1.3
See Also:
  `VISIBILITY_DIRECTIVE`, Constant Field Values

#### VISIBILITY_REEXPORT

    static final String VISIBILITY_REEXPORT

Manifest header 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. Any arbitrary matching attributes with which they were exported by the required bundle are deleted.

The directive value is encoded in the Require-Bundle manifest header like:

         Require-Bundle: com.acme.module.test; visibility:="reexport"

Since:
  1.3
See Also:
  `VISIBILITY_DIRECTIVE`, Constant Field Values

#### EXTENSION_DIRECTIVE

    static final String EXTENSION_DIRECTIVE

Manifest header directive identifying the type of the extension fragment.

The directive value is encoded in the Fragment-Host manifest header like:

         Fragment-Host: system.bundle; extension:="framework"

The default value is `framework`.

Since:
  1.3
See Also:
  `FRAGMENT_HOST`, `EXTENSION_FRAMEWORK`, Constant Field Values

#### EXTENSION_FRAMEWORK

    static final String EXTENSION_FRAMEWORK

Manifest header directive value identifying the type of extension fragment. An extension fragment type of framework indicates that the extension fragment is to be loaded by the framework's class loader.

The directive value is encoded in the Fragment-Host manifest header like:

         Fragment-Host: system.bundle; extension:="framework"

Since:
  1.3
See Also:
  `EXTENSION_DIRECTIVE`, Constant Field Values

#### EXTENSION_BOOTCLASSPATH

    static final String EXTENSION_BOOTCLASSPATH

Deprecated. As of 1.9.
Manifest header directive value identifying the type of extension fragment. An extension fragment type of bootclasspath indicates that the extension fragment is to be loaded by the boot class loader.

The directive value is encoded in the Fragment-Host manifest header like:

         Fragment-Host: system.bundle; extension:="bootclasspath"

Since:
  1.3
See Also:
  `EXTENSION_DIRECTIVE`, Constant Field Values

#### BUNDLE_ACTIVATIONPOLICY

    static final String BUNDLE_ACTIVATIONPOLICY

Manifest header identifying the bundle's activation policy.

The header value may be retrieved from the `Dictionary` object returned by the `Bundle.getHeaders` method.

Since:
  1.4
See Also:
  `ACTIVATION_LAZY`, `INCLUDE_DIRECTIVE`, `EXCLUDE_DIRECTIVE`, Constant Field Values

#### ACTIVATION_LAZY

    static final String ACTIVATION_LAZY

Bundle activation policy declaring the bundle must be activated when the first class load is made from the bundle.

A bundle with the lazy activation policy that is started with the `START_ACTIVATION_POLICY` option will wait in the `STARTING` state until the first class load from the bundle occurs. The bundle will then be activated before the class is returned to the requester.

The activation policy value is specified as in the Bundle-ActivationPolicy manifest header like:

           Bundle-ActivationPolicy: lazy

Since:
  1.4
See Also:
  `BUNDLE_ACTIVATIONPOLICY`, `Bundle.start(int)`, `Bundle.START_ACTIVATION_POLICY`, Constant Field Values

#### FRAMEWORK_VERSION

    static final String FRAMEWORK_VERSION

Framework environment property identifying the Framework version.

The value of this property may be retrieved by calling the `BundleContext.getProperty` method.

See Also:
  Constant Field Values

#### FRAMEWORK_VENDOR

    static final String FRAMEWORK_VENDOR

Framework environment property identifying the Framework implementation vendor.

The value of this property may be retrieved by calling the `BundleContext.getProperty` method.

See Also:
  Constant Field Values

#### FRAMEWORK_LANGUAGE

    static final String FRAMEWORK_LANGUAGE

Framework launching property identifying the Framework implementation language (see ISO 639 for possible values).

The value of this property may be retrieved by calling the `BundleContext.getProperty` method.

See Also:
  Constant Field Values

#### FRAMEWORK_OS_NAME

    static final String FRAMEWORK_OS_NAME

Framework launching property identifying the Framework host-computer's operating system.

The value of this property may be retrieved by calling the `BundleContext.getProperty` method.

See Also:
  Constant Field Values

#### FRAMEWORK_OS_VERSION

    static final String FRAMEWORK_OS_VERSION

Framework launching property identifying the Framework host-computer's operating system version number.

The value of this property may be retrieved by calling the `BundleContext.getProperty` method.

See Also:
  Constant Field Values

#### FRAMEWORK_PROCESSOR

    static final String FRAMEWORK_PROCESSOR

Framework launching property identifying the Framework host-computer's processor name.

The value of this property may be retrieved by calling the `BundleContext.getProperty` method.

See Also:
  Constant Field Values

#### FRAMEWORK_EXECUTIONENVIRONMENT

    static final String FRAMEWORK_EXECUTIONENVIRONMENT

Deprecated. As of 1.6. Replaced by the `osgi.ee` capability.
Framework launching property identifying execution environments provided by the Framework.

The value of this property may be retrieved by calling the `BundleContext.getProperty` method.

Since:
  1.2
See Also:
  Constant Field Values

#### FRAMEWORK_BOOTDELEGATION

    static final String FRAMEWORK_BOOTDELEGATION

Framework launching property identifying packages for which the Framework must delegate class loading to the parent class loader of the bundle.

The value of this property may be retrieved by calling the `BundleContext.getProperty` method.

Since:
  1.3
See Also:
  `FRAMEWORK_BUNDLE_PARENT`, Constant Field Values

#### FRAMEWORK_SYSTEMPACKAGES

    static final String FRAMEWORK_SYSTEMPACKAGES

Framework launching property identifying packages which the system bundle must export.

If this property is not specified then the framework must calculate a reasonable default value for the current execution environment.

The value of this property may be retrieved by calling the `BundleContext.getProperty` method.

Since:
  1.3
See Also:
  Constant Field Values

#### FRAMEWORK_SYSTEMPACKAGES_EXTRA

    static final String FRAMEWORK_SYSTEMPACKAGES_EXTRA

Framework launching property identifying extra packages which the system bundle must export from the current execution environment.

This property is useful for configuring extra system packages in addition to the system packages calculated by the framework.

The value of this property may be retrieved by calling the `BundleContext.getProperty` method.

Since:
  1.5
See Also:
  `FRAMEWORK_SYSTEMPACKAGES`, Constant Field Values

#### SUPPORTS_FRAMEWORK_EXTENSION

    static final String SUPPORTS_FRAMEWORK_EXTENSION

Framework environment property identifying whether the Framework supports framework extension bundles.

As of version 1.4, the value of this property must be `true`. The Framework must support framework extension bundles.

The value of this property may be retrieved by calling the `BundleContext.getProperty` method.

Since:
  1.3
See Also:
  Constant Field Values

#### SUPPORTS_BOOTCLASSPATH_EXTENSION

    static final String SUPPORTS_BOOTCLASSPATH_EXTENSION

Framework environment property identifying whether the Framework supports bootclasspath extension bundles.

If the value of this property is `true`, then the Framework supports bootclasspath extension bundles. The default value is `false`.

The value of this property may be retrieved by calling the `BundleContext.getProperty` method.

Since:
  1.3
See Also:
  Constant Field Values

#### SUPPORTS_FRAMEWORK_FRAGMENT

    static final String SUPPORTS_FRAMEWORK_FRAGMENT

Framework environment property identifying whether the Framework supports fragment bundles.

As of version 1.4, the value of this property must be `true`. The Framework must support fragment bundles.

The value of this property may be retrieved by calling the `BundleContext.getProperty` method.

Since:
  1.3
See Also:
  Constant Field Values

#### SUPPORTS_FRAMEWORK_REQUIREBUNDLE

    static final String SUPPORTS_FRAMEWORK_REQUIREBUNDLE

Framework environment property identifying whether the Framework supports the `Require-Bundle` manifest header.

As of version 1.4, the value of this property must be `true`. The Framework must support the `Require-Bundle` manifest header.

The value of this property may be retrieved by calling the `BundleContext.getProperty` method.

Since:
  1.3
See Also:
  Constant Field Values

#### FRAMEWORK_SECURITY

    static final String FRAMEWORK_SECURITY

Framework launching property specifying the type of security manager the framework must use. If not specified then the framework will not set the VM security manager.

Since:
  1.5
See Also:
  `FRAMEWORK_SECURITY_OSGI`, Constant Field Values

#### FRAMEWORK_SECURITY_OSGI

    static final String FRAMEWORK_SECURITY_OSGI

Specifies that a security manager that supports all security aspects of the OSGi core specification including postponed conditions must be installed.

If this value is specified and there is a security manager already installed, then a `SecurityException` must be thrown when the Framework is initialized.

Since:
  1.5
See Also:
  `FRAMEWORK_SECURITY`, Constant Field Values

#### FRAMEWORK_STORAGE

    static final String FRAMEWORK_STORAGE

Framework launching property specifying the persistent storage area used by the framework. The value of this property must be a valid file path in the file system to a directory. If the specified directory does not exist then the framework will create the directory. If the specified path exists but is not a directory or if the framework fails to create the storage directory, then framework initialization must fail. The framework is free to use this directory as it sees fit. This area can not be shared with anything else.

If this property is not set, the framework should use a reasonable platform default for the persistent storage area.

Since:
  1.5
See Also:
  Constant Field Values

#### FRAMEWORK_STORAGE_CLEAN

    static final String FRAMEWORK_STORAGE_CLEAN

Framework launching property specifying if and when the persistent storage area for the framework should be cleaned. If this property is not set, then the framework storage area must not be cleaned.

Since:
  1.5
See Also:
  `FRAMEWORK_STORAGE_CLEAN_ONFIRSTINIT`, Constant Field Values

#### FRAMEWORK_STORAGE_CLEAN_ONFIRSTINIT

    static final String FRAMEWORK_STORAGE_CLEAN_ONFIRSTINIT

Specifies that the framework storage area must be cleaned before the framework is initialized for the first time. Subsequent inits, starts or updates of the framework will not result in cleaning the framework storage area.

Since:
  1.5
See Also:
  Constant Field Values

#### FRAMEWORK_LIBRARY_EXTENSIONS

    static final String FRAMEWORK_LIBRARY_EXTENSIONS

Framework launching property specifying a comma separated list of additional library file extensions that must be used when a bundle's class loader is searching for native libraries. If this property is not set, then only the library name returned by `System.mapLibraryName(String)` will be used to search. This is needed for certain operating systems which allow more than one extension for a library. For example, AIX allows library extensions of `.a` and `.so`, but `System.mapLibraryName(String)` will only return names with the `.a` extension.

Since:
  1.5
See Also:
  Constant Field Values

#### FRAMEWORK_EXECPERMISSION

    static final String FRAMEWORK_EXECPERMISSION

Framework launching property specifying an optional OS specific command to set file permissions on extracted native code. On some operating systems, it is required that native libraries be set to executable. This optional property allows you to specify the command. For example, on a UNIX style OS, this property could have the following value.

     chmod +rx ${abspath}

The `${abspath}` is used by the framework to substitute the actual absolute file path.

Since:
  1.5
See Also:
  Constant Field Values

#### FRAMEWORK_COMMAND_ABSPATH

    static final String FRAMEWORK_COMMAND_ABSPATH

Specified the substitution string for the absolute path of a file.

Since:
  1.6
See Also:
  `FRAMEWORK_EXECPERMISSION`, Constant Field Values

#### FRAMEWORK_TRUST_REPOSITORIES

    static final String FRAMEWORK_TRUST_REPOSITORIES

Framework launching property specifying the trust repositories used by the framework. The value is a `java.io.File.pathSeparator` separated list of valid file paths to files that contain key stores. Key stores of type `JKS` must be supported and other key store types may be supported. The framework will use the key stores as trust repositories to authenticate certificates of trusted signers. The key stores are only used as read-only trust repositories to access public keys. No passwords are required to access the key stores' public keys.

Note that framework implementations are allowed to use other trust repositories in addition to the trust repositories specified by this property. How these other trust repositories are configured and populated is implementation specific.

Since:
  1.5
See Also:
  Constant Field Values

#### FRAMEWORK_WINDOWSYSTEM

    static final String FRAMEWORK_WINDOWSYSTEM

Framework launching property specifying the current windowing system. The framework should provide a reasonable default if this is not set.

Since:
  1.5
See Also:
  Constant Field Values

#### FRAMEWORK_BEGINNING_STARTLEVEL

    static final String FRAMEWORK_BEGINNING_STARTLEVEL

Framework launching property specifying the beginning start level of the framework.

Since:
  1.5
See Also:
  "Core Specification, Starting the Framework.", Constant Field Values

#### FRAMEWORK_BUNDLE_PARENT

    static final String FRAMEWORK_BUNDLE_PARENT

Framework launching property specifying the parent class loader type for all bundle class loaders. Default value is `boot`.

Since:
  1.5
See Also:
  `FRAMEWORK_BUNDLE_PARENT_BOOT`, `FRAMEWORK_BUNDLE_PARENT_EXT`, `FRAMEWORK_BUNDLE_PARENT_APP`, `FRAMEWORK_BUNDLE_PARENT_FRAMEWORK`, Constant Field Values

#### FRAMEWORK_BUNDLE_PARENT_BOOT

    static final String FRAMEWORK_BUNDLE_PARENT_BOOT

Specifies to use of the boot class loader as the parent class loader for all bundle class loaders.

Since:
  1.5
See Also:
  `FRAMEWORK_BUNDLE_PARENT`, Constant Field Values

#### FRAMEWORK_BUNDLE_PARENT_EXT

    static final String FRAMEWORK_BUNDLE_PARENT_EXT

Specifies to use the extension class loader as the parent class loader for all bundle class loaders.

Since:
  1.5
See Also:
  `FRAMEWORK_BUNDLE_PARENT`, Constant Field Values

#### FRAMEWORK_BUNDLE_PARENT_APP

    static final String FRAMEWORK_BUNDLE_PARENT_APP

Specifies to use the application class loader as the parent class loader for all bundle class loaders. Depending on how the framework is launched, this may refer to the same class loader as `FRAMEWORK_BUNDLE_PARENT_FRAMEWORK`.

Since:
  1.5
See Also:
  `FRAMEWORK_BUNDLE_PARENT`, Constant Field Values

#### FRAMEWORK_BUNDLE_PARENT_FRAMEWORK

    static final String FRAMEWORK_BUNDLE_PARENT_FRAMEWORK

Specifies to use the framework class loader as the parent class loader for all bundle class loaders. The framework class loader is the class loader used to load the framework implementation. Depending on how the framework is launched, this may refer to the same class loader as `FRAMEWORK_BUNDLE_PARENT_APP`.

Since:
  1.5
See Also:
  `FRAMEWORK_BUNDLE_PARENT`, Constant Field Values

#### OBJECTCLASS

    static final String OBJECTCLASS

Service property identifying all of the class names under which a service was registered in the Framework. The value of this property must be of type `String[]`.

This property is set by the Framework when a service is registered.

See Also:
  Constant Field Values

#### SERVICE_ID

    static final String SERVICE_ID

Service property identifying a service's registration number. The value of this property must be of type `Long`.

The value of this property is assigned by the Framework when a service is registered. The Framework assigns a unique, non-negative value that is larger than all previously assigned values since the Framework was started. These values are NOT persistent across restarts of the Framework.

See Also:
  Constant Field Values

#### SERVICE_PID

    static final String SERVICE_PID

Service property identifying a service's persistent identifier.

This property may be supplied in the `properties` `Dictionary` object passed to the `BundleContext.registerService` method. The value of this property must be of type `String`, `String[]`, or `Collection` of `String`.

A service's persistent identifier uniquely identifies the service and persists across multiple Framework invocations.

By convention, every bundle has its own unique namespace, starting with the bundle's identifier (see `Bundle.getBundleId()`) and followed by a dot (.). A bundle may use this as the prefix of the persistent identifiers for the services it registers.

See Also:
  Constant Field Values

#### SERVICE_RANKING

    static final String SERVICE_RANKING

Service property identifying a service's ranking number.

This property may be supplied in the `properties Dictionary` object passed to the `BundleContext.registerService` method. The value of this property must be of type `Integer`.

The service ranking is used by the Framework to determine the natural order of services, see `ServiceReference.compareTo(Object)`, and the default service to be returned from a call to the `BundleContext.getServiceReference(Class)` or `BundleContext.getServiceReference(String)` method.

The default ranking is zero (0). A service with a ranking of `Integer.MAX_VALUE` is very likely to be returned as the default service, whereas a service with a ranking of `Integer.MIN_VALUE` is very unlikely to be returned.

If the supplied property value is not of type `Integer`, it is deemed to have a ranking value of zero.

See Also:
  Constant Field Values

#### SERVICE_VENDOR

    static final String SERVICE_VENDOR

Service property identifying a service's vendor.

This property may be supplied in the properties `Dictionary` object passed to the `BundleContext.registerService` method.

See Also:
  Constant Field Values

#### SERVICE_DESCRIPTION

    static final String SERVICE_DESCRIPTION

Service property identifying a service's description.

This property may be supplied in the properties `Dictionary` object passed to the `BundleContext.registerService` method.

See Also:
  Constant Field Values

#### SERVICE_BUNDLEID

    static final String SERVICE_BUNDLEID

Service property identifying the `bundle id` of the `bundle registering the service`.

This property is set by the Framework when a service is registered. The value of this property must be of type `Long`.

Since:
  1.8
See Also:
  Constant Field Values

#### SERVICE_SCOPE

    static final String SERVICE_SCOPE

Service property identifying a service's scope.

This property is set by the Framework when a service is registered. If the registered object implements `PrototypeServiceFactory`, then the value of this service property will be `SCOPE_PROTOTYPE`. Otherwise, if the registered object implements `ServiceFactory`, then the value of this service property will be `SCOPE_BUNDLE`. Otherwise, the value of this service property will be `SCOPE_SINGLETON`.

Since:
  1.8
See Also:
  `SCOPE_SINGLETON`, `SCOPE_BUNDLE`, `SCOPE_PROTOTYPE`, Constant Field Values

#### SCOPE_SINGLETON

    static final String SCOPE_SINGLETON

Service scope is singleton. All bundles using the service receive the same service object.

Since:
  1.8
See Also:
  `SERVICE_SCOPE`, Constant Field Values

#### SCOPE_BUNDLE

    static final String SCOPE_BUNDLE

Service scope is bundle. Each bundle using the service receives a customized service object.

Since:
  1.8
See Also:
  `SERVICE_SCOPE`, Constant Field Values

#### SCOPE_PROTOTYPE

    static final String SCOPE_PROTOTYPE

Service scope is prototype. Each bundle using the service receives either a customized service object or can request multiple customized service objects via `ServiceObjects`.

Since:
  1.8
See Also:
  `SERVICE_SCOPE`, Constant Field Values

#### FRAMEWORK_UUID

    static final String FRAMEWORK_UUID

Framework environment property identifying the Framework's universally unique identifier (UUID). A UUID represents a 128-bit value. A new UUID is generated by the `Framework.init()` method each time a framework is initialized. The value of this property must conform to the UUID string representation specified in RFC 4122.

The value of this property may be retrieved by calling the `BundleContext.getProperty` method.

Since:
  1.6
See Also:
  Constant Field Values

#### REMOTE_CONFIGS_SUPPORTED

    static final String REMOTE_CONFIGS_SUPPORTED

Service property identifying the configuration types supported by a distribution provider. Registered by the distribution provider on one of its services to indicate the supported configuration types.

The value of this property must be of type `String`, `String[]`, or `Collection` of `String`.

Since:
  1.6
See Also:
  "Remote Services Specification", Constant Field Values

#### REMOTE_INTENTS_SUPPORTED

    static final String REMOTE_INTENTS_SUPPORTED

Service property identifying the intents supported by a distribution provider. Registered by the distribution provider on one of its services to indicate the vocabulary of implemented intents.

The value of this property must be of type `String`, `String[]`, or `Collection` of `String`.

Since:
  1.6
See Also:
  "Remote Services Specification", Constant Field Values

#### SERVICE_EXPORTED_CONFIGS

    static final String SERVICE_EXPORTED_CONFIGS

Service property identifying the configuration types that should be used to export the service. Each configuration type represents the configuration parameters for an endpoint. A distribution provider should create an endpoint for each configuration type that it supports.

This property may be supplied in the `properties` `Dictionary` object passed to the `BundleContext.registerService` method. The value of this property must be of type `String`, `String[]`, or `Collection` of `String`.

Since:
  1.6
See Also:
  "Remote Services Specification", Constant Field Values

#### SERVICE_EXPORTED_INTENTS

    static final String SERVICE_EXPORTED_INTENTS

Service property identifying the intents that the distribution provider must implement to distribute the service. Intents listed in this property are reserved for intents that are critical for the code to function correctly, for example, ordering of messages. These intents should not be configurable.

This property may be supplied in the `properties` `Dictionary` object passed to the `BundleContext.registerService` method. The value of this property must be of type `String`, `String[]`, or `Collection` of `String`.

Since:
  1.6
See Also:
  "Remote Services Specification", Constant Field Values

#### SERVICE_EXPORTED_INTENTS_EXTRA

    static final String SERVICE_EXPORTED_INTENTS_EXTRA

Service property identifying the extra intents that the distribution provider must implement to distribute the service. This property is merged with the `service.exported.intents` property before the distribution provider interprets the listed intents; it has therefore the same semantics but the property should be configurable so the administrator can choose the intents based on the topology. Bundles should therefore make this property configurable, for example through the Configuration Admin service.

This property may be supplied in the `properties` `Dictionary` object passed to the `BundleContext.registerService` method. The value of this property must be of type `String`, `String[]`, or `Collection` of `String`.

Since:
  1.6
See Also:
  "Remote Services Specification", Constant Field Values

#### SERVICE_EXPORTED_INTERFACES

    static final String SERVICE_EXPORTED_INTERFACES

Service property marking the service for export. It defines the interfaces under which this service can be exported. This list must be a subset of the types under which the service was registered. The single value of an asterisk (`'*'` \u002A) indicates all the interface types under which the service was registered excluding the non-interface types. It is strongly recommended to only export interface types and not concrete classes due to the complexity of creating proxies for some type of concrete classes.

This property may be supplied in the `properties` `Dictionary` object passed to the `BundleContext.registerService` method. The value of this property must be of type `String`, `String[]`, or `Collection` of `String`.

Since:
  1.6
See Also:
  "Remote Services Specification", Constant Field Values

#### SERVICE_IMPORTED

    static final String SERVICE_IMPORTED

Service property identifying the service as imported. This service property must be set by a distribution provider to any value when it registers the endpoint proxy as an imported service. A bundle can use this property to filter out imported services.

The value of this property may be of any type.

Since:
  1.6
See Also:
  "Remote Services Specification", Constant Field Values

#### SERVICE_IMPORTED_CONFIGS

    static final String SERVICE_IMPORTED_CONFIGS

Service property identifying the configuration types used to import the service. Any associated properties for this configuration types must be properly mapped to the importing system. For example, a URL in these properties must point to a valid resource when used in the importing framework. If multiple configuration types are listed in this property, then they must be synonyms for exactly the same remote endpoint that is used to export this service.

The value of this property must be of type `String`, `String[]`, or `Collection` of `String`.

Since:
  1.6
See Also:
  "Remote Services Specification", `SERVICE_EXPORTED_CONFIGS`, Constant Field Values

#### SERVICE_INTENTS

    static final String SERVICE_INTENTS

Service property identifying the intents that this service implement. This property has a dual purpose:

- A bundle can use this service property to notify the distribution provider that these intents are already implemented by the exported service object.
- A distribution provider must use this property to convey the combined intents of: the exporting service, the intents that the exporting distribution provider adds, and the intents that the importing distribution provider adds.

To export a service, a distribution provider must expand any qualified intents. Both the exporting and importing distribution providers must recognize all intents before a service can be distributed.

The value of this property must be of type `String`, `String[]`, or `Collection` of `String`.

Since:
  1.6
See Also:
  "Remote Services Specification", Constant Field Values

#### PROVIDE_CAPABILITY

    static final String PROVIDE_CAPABILITY

Manifest header identifying the capabilities that the bundle offers to provide to other bundles.

The header value may be retrieved from the `Dictionary` object returned by the `Bundle.getHeaders` method.

Since:
  1.6
See Also:
  Constant Field Values

#### REQUIRE_CAPABILITY

    static final String REQUIRE_CAPABILITY

Manifest header identifying the capabilities on which the bundle depends.

The header value may be retrieved from the `Dictionary` object returned by the `Bundle.getHeaders` method.

Since:
  1.6
See Also:
  Constant Field Values

#### EFFECTIVE_DIRECTIVE

    static final String EFFECTIVE_DIRECTIVE

Manifest header directive identifying the effective time of the provided capability. The default value is `resolve`.

The directive value is encoded in the Provide-Capability manifest header like:

         Provide-Capability: com.acme.capability; effective:="resolve"

Since:
  1.6
See Also:
  `PROVIDE_CAPABILITY`, `EFFECTIVE_RESOLVE`, `EFFECTIVE_ACTIVE`, Constant Field Values

#### EFFECTIVE_RESOLVE

    static final String EFFECTIVE_RESOLVE

Manifest header directive value identifying a capability that is effective at resolve time. Capabilities with an effective time of resolve are the only capabilities which are processed by the resolver.

The directive value is encoded in the Provide-Capability manifest header like:

         Provide-Capability: com.acme.capability; effective:="resolve"

Since:
  1.6
See Also:
  `EFFECTIVE_DIRECTIVE`, Constant Field Values

#### EFFECTIVE_ACTIVE

    static final String EFFECTIVE_ACTIVE

Manifest header directive value identifying a capability that is effective at active time. Capabilities with an effective time of active are ignored by the resolver.

The directive value is encoded in the Provide-Capability manifest header like:

         Provide-Capability: com.acme.capability; effective:="active"

Since:
  1.6
See Also:
  `EFFECTIVE_DIRECTIVE`, Constant Field Values

#### FILTER_DIRECTIVE

    static final String FILTER_DIRECTIVE

Manifest header directive identifying the capability filter specified in the Require-Capability manifest header.

The directive value is encoded in the Require-Capability manifest header like:

         Require-Capability: com.acme.capability; filter:="(someattr=somevalue)"

Since:
  1.6
See Also:
  `REQUIRE_CAPABILITY`, Constant Field Values

#### FRAMEWORK_SYSTEMCAPABILITIES

    static final String FRAMEWORK_SYSTEMCAPABILITIES

Framework launching property identifying capabilities which the system bundle must provide.

If this property is not specified then the framework must calculate a reasonable default value for the current execution environment.

The value of this property may be retrieved by calling the `BundleContext.getProperty` method.

Since:
  1.6
See Also:
  Constant Field Values

#### FRAMEWORK_SYSTEMCAPABILITIES_EXTRA

    static final String FRAMEWORK_SYSTEMCAPABILITIES_EXTRA

Framework launching property identifying extra capabilities which the system bundle must additionally provide.

This property is useful for configuring extra system capabilities in addition to the system capabilities calculated by the framework.

The value of this property may be retrieved by calling the `BundleContext.getProperty` method.

Since:
  1.6
See Also:
  `FRAMEWORK_SYSTEMCAPABILITIES`, Constant Field Values

#### FRAMEWORK_BSNVERSION

    static final String FRAMEWORK_BSNVERSION

Framework launching property specifying whether multiple bundles having the same `symbolic name` and `version` may be installed.

Default value is `managed` in this release of the specification. This default may change in a future specification release. Therefore, code must not assume the default behavior is `managed` and should interrogate the value of this property to determine the behavior.

The value of this property may be retrieved by calling the `BundleContext.getProperty` method.

Since:
  1.6
See Also:
  `FRAMEWORK_BSNVERSION_MULTIPLE`, `FRAMEWORK_BSNVERSION_SINGLE`, `FRAMEWORK_BSNVERSION_MANAGED`, Constant Field Values

#### FRAMEWORK_BSNVERSION_MULTIPLE

    static final String FRAMEWORK_BSNVERSION_MULTIPLE

Specifies the framework will allow multiple bundles to be installed having the same symbolic name and version.

Since:
  1.6
See Also:
  `FRAMEWORK_BSNVERSION`, Constant Field Values

#### FRAMEWORK_BSNVERSION_SINGLE

    static final String FRAMEWORK_BSNVERSION_SINGLE

Specifies the framework will only allow a single bundle to be installed for a given symbolic name and version. It will be an error to install a bundle or update a bundle to have the same symbolic name and version as another installed bundle.

Since:
  1.6
See Also:
  `FRAMEWORK_BSNVERSION`, `BundleException.DUPLICATE_BUNDLE_ERROR`, Constant Field Values

#### FRAMEWORK_BSNVERSION_MANAGED

    static final String FRAMEWORK_BSNVERSION_MANAGED

Specifies the framework must consult the `bundle collision hook` services to determine if it will be an error to install a bundle or update a bundle to have the same symbolic name and version as another installed bundle. If no bundle collision hook services are registered, then it will be an error to install a bundle or update a bundle to have the same symbolic name and version as another installed bundle.

Since:
  1.7
See Also:
  `FRAMEWORK_BSNVERSION`, `BundleException.DUPLICATE_BUNDLE_ERROR`, Constant Field Values

#### BUNDLE_ICON

    static final String BUNDLE_ICON

Manifest header identifying the bundle's icon URLs.

The header value may be retrieved from the `Dictionary` object returned by the `Bundle.getHeaders` method.

Since:
  1.8
See Also:
  Constant Field Values

#### BUNDLE_LICENSE

    static final String BUNDLE_LICENSE

Manifest header identifying the bundle's license information.

The header value may be retrieved from the `Dictionary` object returned by the `Bundle.getHeaders` method.

Since:
  1.8
See Also:
  Constant Field Values

#### BUNDLE_DEVELOPERS

    static final String BUNDLE_DEVELOPERS

Manifest header identifying the bundle's developers.

The header value may be retrieved from the `Dictionary` object returned by the `Bundle.getHeaders` method.

Since:
  1.9
See Also:
  Constant Field Values

#### BUNDLE_SCM

    static final String BUNDLE_SCM

Manifest header identifying the bundle's software configuration management system.

The header value may be retrieved from the `Dictionary` object returned by the `Bundle.getHeaders` method.

Since:
  1.9
See Also:
  Constant Field Values

#### SERVICE_CHANGECOUNT

    static final String SERVICE_CHANGECOUNT

Service property identifying the monotonically increasing change count of a service.

A service may optional provide this property to indicate there has been a change in some data provided by the service. The change count must be incremented with a positive value every time the data provided by the service is changed. The service announces the modified change count by updating its service properties with the new value for this service property.

The value of this property must be of type `Long`.

Since:
  1.9
See Also:
  Constant Field Values

#### INTENT_BASIC

    static final String INTENT_BASIC

Intent supported by Remote Services implementations that support Basic Remote Services as defined for the `osgi.basic` intent.

Since:
  1.9
See Also:
  Constant Field Values

#### INTENT_ASYNC

    static final String INTENT_ASYNC

Intent supported by Remote Service implementations that support Asynchronous Remote Services as defined for the `osgi.async` intent.

Since:
  1.9
See Also:
  Constant Field Values

#### INTENT_CONFIDENTIAL

    static final String INTENT_CONFIDENTIAL

Intent supported by Remote Service implementation that provide confidential communications as defined for the `osgi.confidential` intent.

Since:
  1.9
See Also:
  Constant Field Values

#### INTENT_PRIVATE

    static final String INTENT_PRIVATE

Intent supported by Remote Service implementations that provide private communications as defined for the `osgi.private` intent.

Since:
  1.9
See Also:
  Constant Field Values