/* | |
* $Header: /cvshome/build/org.osgi.framework/src/org/osgi/framework/Constants.java,v 1.23 2006/03/14 01:21:02 hargrave Exp $ | |
* | |
* Copyright (c) OSGi Alliance (2000, 2005). All Rights Reserved. | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
*/ | |
package org.osgi.framework; | |
/** | |
* Defines standard names for the OSGi environment property, service property, | |
* and Manifest header attribute keys. | |
* | |
* <p> | |
* The values associated with these keys are of type | |
* <code>java.lang.String</code>, unless otherwise indicated. | |
* | |
* @version $Revision: 1.23 $ | |
* @since 1.1 | |
*/ | |
public interface Constants { | |
/** | |
* Location identifier of the OSGi <i>system bundle </i>, which is defined | |
* to be "System Bundle". | |
*/ | |
public static final String SYSTEM_BUNDLE_LOCATION = "System Bundle"; | |
/** | |
* Alias for the symbolic name of the OSGi <i>system bundle </i>. It is | |
* defined to be "system.bundle". | |
* | |
* @since 1.3 | |
*/ | |
public static final String SYSTEM_BUNDLE_SYMBOLICNAME = "system.bundle"; | |
/** | |
* Manifest header (named "Bundle-Category") identifying the | |
* bundle's category. | |
* <p> | |
* The attribute value may be retrieved from the <code>Dictionary</code> | |
* object returned by the <code>Bundle.getHeaders</code> method. | |
*/ | |
public static final String BUNDLE_CATEGORY = "Bundle-Category"; | |
/** | |
* Manifest header (named "Bundle-ClassPath") identifying a list | |
* of directories and embedded JAR files, which are bundle resources used to | |
* extend the bundle's classpath. | |
* | |
* <p> | |
* The attribute value may be retrieved from the <code>Dictionary</code> | |
* object returned by the <code>Bundle.getHeaders</code> method. | |
*/ | |
public static final String BUNDLE_CLASSPATH = "Bundle-ClassPath"; | |
/** | |
* Manifest header (named "Bundle-Copyright") identifying the | |
* bundle's copyright information. | |
* <p> | |
* The attribute value may be retrieved from the <code>Dictionary</code> | |
* object returned by the <code>Bundle.getHeaders</code> method. | |
*/ | |
public static final String BUNDLE_COPYRIGHT = "Bundle-Copyright"; | |
/** | |
* Manifest header (named "Bundle-Description") containing a brief | |
* description of the bundle's functionality. | |
* <p> | |
* The attribute value may be retrieved from the <code>Dictionary</code> | |
* object returned by the <code>Bundle.getHeaders</code> method. | |
*/ | |
public static final String BUNDLE_DESCRIPTION = "Bundle-Description"; | |
/** | |
* Manifest header (named "Bundle-Name") identifying the bundle's | |
* name. | |
* <p> | |
* The attribute value may be retrieved from the <code>Dictionary</code> | |
* object returned by the <code>Bundle.getHeaders</code> method. | |
*/ | |
public static final String BUNDLE_NAME = "Bundle-Name"; | |
/** | |
* Manifest header (named "Bundle-NativeCode") identifying a | |
* number of hardware environments and the native language code libraries | |
* that the bundle is carrying for each of these environments. | |
* | |
* <p> | |
* The attribute value may be retrieved from the <code>Dictionary</code> | |
* object returned by the <code>Bundle.getHeaders</code> method. | |
*/ | |
public static final String BUNDLE_NATIVECODE = "Bundle-NativeCode"; | |
/** | |
* Manifest header (named "Export-Package") identifying the | |
* packages that the bundle offers to the Framework for export. | |
* | |
* <p> | |
* The attribute value may be retrieved from the <code>Dictionary</code> | |
* object returned by the <code>Bundle.getHeaders</code> method. | |
*/ | |
public static final String EXPORT_PACKAGE = "Export-Package"; | |
/** | |
* Manifest header (named "Export-Service") identifying the fully | |
* qualified class names of the services that the bundle may register (used | |
* for informational purposes only). | |
* | |
* <p> | |
* The attribute value may be retrieved from the <code>Dictionary</code> | |
* object returned by the <code>Bundle.getHeaders</code> method. | |
*/ | |
public static final String EXPORT_SERVICE = "Export-Service"; | |
/** | |
* Manifest header (named "Import-Package") identifying the | |
* packages on which the bundle depends. | |
* | |
* <p> | |
* The attribute value may be retrieved from the <code>Dictionary</code> | |
* object returned by the <code>Bundle.getHeaders</code> method. | |
*/ | |
public static final String IMPORT_PACKAGE = "Import-Package"; | |
/** | |
* Manifest header (named "DynamicImport-Package") identifying the | |
* packages that the bundle may dynamically import during execution. | |
* | |
* <p> | |
* The attribute value may be retrieved from the <code>Dictionary</code> | |
* object returned by the <code>Bundle.getHeaders</code> method. | |
* | |
* @since 1.2 | |
*/ | |
public static final String DYNAMICIMPORT_PACKAGE = "DynamicImport-Package"; | |
/** | |
* Manifest header (named "Import-Service") identifying the fully | |
* qualified class names of the services that the bundle requires (used for | |
* informational purposes only). | |
* | |
* <p> | |
* The attribute value may be retrieved from the <code>Dictionary</code> | |
* object returned by the <code>Bundle.getHeaders</code> method. | |
*/ | |
public static final String IMPORT_SERVICE = "Import-Service"; | |
/** | |
* Manifest header (named "Bundle-Vendor") identifying the | |
* bundle's vendor. | |
* | |
* <p> | |
* The attribute value may be retrieved from the <code>Dictionary</code> | |
* object returned by the <code>Bundle.getHeaders</code> method. | |
*/ | |
public static final String BUNDLE_VENDOR = "Bundle-Vendor"; | |
/** | |
* Manifest header (named "Bundle-Version") identifying the | |
* bundle's version. | |
* | |
* <p> | |
* The attribute value may be retrieved from the <code>Dictionary</code> | |
* object returned by the <code>Bundle.getHeaders</code> method. | |
*/ | |
public static final String BUNDLE_VERSION = "Bundle-Version"; | |
/** | |
* Manifest header (named "Bundle-DocURL") identifying the | |
* bundle's documentation URL, from which further information about the | |
* bundle may be obtained. | |
* | |
* <p> | |
* The attribute value may be retrieved from the <code>Dictionary</code> | |
* object returned by the <code>Bundle.getHeaders</code> method. | |
*/ | |
public static final String BUNDLE_DOCURL = "Bundle-DocURL"; | |
/** | |
* Manifest header (named "Bundle-ContactAddress") identifying the | |
* contact address where problems with the bundle may be reported; for | |
* example, an email address. | |
* | |
* <p> | |
* The attribute value may be retrieved from the <code>Dictionary</code> | |
* object returned by the <code>Bundle.getHeaders</code> method. | |
*/ | |
public static final String BUNDLE_CONTACTADDRESS = "Bundle-ContactAddress"; | |
/** | |
* Manifest header attribute (named "Bundle-Activator") | |
* identifying the bundle's activator class. | |
* | |
* <p> | |
* If present, this header specifies the name of the bundle resource class | |
* that implements the <code>BundleActivator</code> interface and whose | |
* <code>start</code> and <code>stop</code> methods are called by the | |
* Framework when the bundle is started and stopped, respectively. | |
* | |
* <p> | |
* The attribute value may be retrieved from the <code>Dictionary</code> | |
* object returned by the <code>Bundle.getHeaders</code> method. | |
*/ | |
public static final String BUNDLE_ACTIVATOR = "Bundle-Activator"; | |
/** | |
* Manifest header (named "Bundle-UpdateLocation") identifying the | |
* location from which a new bundle version is obtained during a bundle | |
* update operation. | |
* | |
* <p> | |
* The attribute value may be retrieved from the <code>Dictionary</code> | |
* object returned by the <code>Bundle.getHeaders</code> method. | |
*/ | |
public static final String BUNDLE_UPDATELOCATION = "Bundle-UpdateLocation"; | |
/** | |
* Manifest header attribute (named "specification-version") | |
* identifying the version of a package specified in the Export-Package or | |
* Import-Package manifest header. | |
* | |
* <p> | |
* The attribute value is encoded in the Export-Package or Import-Package | |
* manifest header like: | |
* | |
* <pre> | |
* Import-Package: org.osgi.framework ; specification-version="1.1" | |
* </pre> | |
* | |
* @deprecated Since 1.3. This has been replaced by | |
* {@link #VERSION_ATTRIBUTE}. | |
*/ | |
public static final String PACKAGE_SPECIFICATION_VERSION = "specification-version"; | |
/** | |
* Manifest header attribute (named "processor") identifying the | |
* processor required to run native bundle code specified in the | |
* Bundle-NativeCode manifest header). | |
* | |
* <p> | |
* The attribute value is encoded in the Bundle-NativeCode manifest header | |
* like: | |
* | |
* <pre> | |
* Bundle-NativeCode: http.so ; processor=x86 ... | |
* </pre> | |
*/ | |
public static final String BUNDLE_NATIVECODE_PROCESSOR = "processor"; | |
/** | |
* Manifest header attribute (named "osname") identifying the | |
* operating system required to run native bundle code specified in the | |
* Bundle-NativeCode manifest header). | |
* <p> | |
* The attribute value is encoded in the Bundle-NativeCode manifest header | |
* like: | |
* | |
* <pre> | |
* Bundle-NativeCode: http.so ; osname=Linux ... | |
* </pre> | |
*/ | |
public static final String BUNDLE_NATIVECODE_OSNAME = "osname"; | |
/** | |
* Manifest header attribute (named "osversion") identifying the | |
* operating system version required to run native bundle code specified in | |
* the Bundle-NativeCode manifest header). | |
* <p> | |
* The attribute value is encoded in the Bundle-NativeCode manifest header | |
* like: | |
* | |
* <pre> | |
* Bundle-NativeCode: http.so ; osversion="2.34" ... | |
* </pre> | |
*/ | |
public static final String BUNDLE_NATIVECODE_OSVERSION = "osversion"; | |
/** | |
* Manifest header attribute (named "language") identifying the | |
* language in which the native bundle code is written specified in the | |
* Bundle-NativeCode manifest header. See ISO 639 for possible values. | |
* <p> | |
* The attribute value is encoded in the Bundle-NativeCode manifest header | |
* like: | |
* | |
* <pre> | |
* Bundle-NativeCode: http.so ; language=nl_be ... | |
* </pre> | |
*/ | |
public static final String BUNDLE_NATIVECODE_LANGUAGE = "language"; | |
/** | |
* Manifest header (named "Bundle-RequiredExecutionEnvironment") | |
* 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. | |
* | |
* <p> | |
* The attribute value may be retrieved from the <code>Dictionary</code> | |
* object returned by the <code>Bundle.getHeaders</code> method. | |
* | |
* @since 1.2 | |
*/ | |
public static final String BUNDLE_REQUIREDEXECUTIONENVIRONMENT = "Bundle-RequiredExecutionEnvironment"; | |
/* | |
* Framework environment properties. | |
*/ | |
/** | |
* Framework environment property (named | |
* "org.osgi.framework.version") identifying the Framework | |
* version. | |
* | |
* <p> | |
* The value of this property may be retrieved by calling the | |
* <code>BundleContext.getProperty</code> method. | |
*/ | |
public static final String FRAMEWORK_VERSION = "org.osgi.framework.version"; | |
/** | |
* Framework environment property (named | |
* "org.osgi.framework.vendor") identifying the Framework | |
* implementation vendor. | |
* | |
* <p> | |
* The value of this property may be retrieved by calling the | |
* <code>BundleContext.getProperty</code> method. | |
*/ | |
public static final String FRAMEWORK_VENDOR = "org.osgi.framework.vendor"; | |
/** | |
* Framework environment property (named | |
* "org.osgi.framework.language") identifying the Framework | |
* implementation language (see ISO 639 for possible values). | |
* | |
* <p> | |
* The value of this property may be retrieved by calling the | |
* <code>BundleContext.getProperty</code> method. | |
*/ | |
public static final String FRAMEWORK_LANGUAGE = "org.osgi.framework.language"; | |
/** | |
* Framework environment property (named | |
* "org.osgi.framework.os.name") identifying the Framework | |
* host-computer's operating system. | |
* | |
* <p> | |
* The value of this property may be retrieved by calling the | |
* <code>BundleContext.getProperty</code> method. | |
*/ | |
public static final String FRAMEWORK_OS_NAME = "org.osgi.framework.os.name"; | |
/** | |
* Framework environment property (named | |
* "org.osgi.framework.os.version") identifying the Framework | |
* host-computer's operating system version number. | |
* | |
* <p> | |
* The value of this property may be retrieved by calling the | |
* <code>BundleContext.getProperty</code> method. | |
*/ | |
public static final String FRAMEWORK_OS_VERSION = "org.osgi.framework.os.version"; | |
/** | |
* Framework environment property (named | |
* "org.osgi.framework.processor") identifying the Framework | |
* host-computer's processor name. | |
* <p> | |
* The value of this property may be retrieved by calling the | |
* <code>BundleContext.getProperty</code> method. | |
*/ | |
public static final String FRAMEWORK_PROCESSOR = "org.osgi.framework.processor"; | |
/** | |
* Framework environment property (named | |
* "org.osgi.framework.executionenvironment") identifying | |
* execution environments provided by the Framework. | |
* <p> | |
* The value of this property may be retrieved by calling the | |
* <code>BundleContext.getProperty</code> method. | |
* | |
* @since 1.2 | |
*/ | |
public static final String FRAMEWORK_EXECUTIONENVIRONMENT = "org.osgi.framework.executionenvironment"; | |
/** | |
* Framework environment property (named | |
* "org.osgi.framework.bootdelegation") identifying packages for | |
* which the Framework must delegate class loading to the boot class path. | |
* <p> | |
* The value of this property may be retrieved by calling the | |
* <code>BundleContext.getProperty</code> method. | |
* | |
* @since 1.3 | |
*/ | |
public static final String FRAMEWORK_BOOTDELEGATION = "org.osgi.framework.bootdelegation"; | |
/** | |
* Framework environment property (named | |
* "org.osgi.framework.system.packages") identifying package which | |
* the system bundle must export. | |
* <p> | |
* The value of this property may be retrieved by calling the | |
* <code>BundleContext.getProperty</code> method. | |
* | |
* @since 1.3 | |
*/ | |
public static final String FRAMEWORK_SYSTEMPACKAGES = "org.osgi.framework.system.packages"; | |
/** | |
* Framework environment property (named | |
* "org.osgi.supports.framework.extension") identifying whether | |
* the Framework supports framework extension bundles. If the value of this | |
* property is <code>true</code>, then the Framework supports framework | |
* extension bundles. The default value is <code>false</code>. | |
* <p> | |
* The value of this property may be retrieved by calling the | |
* <code>BundleContext.getProperty</code> method. | |
* | |
* @since 1.3 | |
*/ | |
public static final String SUPPORTS_FRAMEWORK_EXTENSION = "org.osgi.supports.framework.extension"; | |
/** | |
* Framework environment property (named | |
* "org.osgi.supports.bootclasspath.extension") identifying | |
* whether the Framework supports bootclasspath extension bundles. If the | |
* value of this property is <code>true</code>, then the Framework | |
* supports bootclasspath extension bundles. The default value is | |
* <code>false</code>. | |
* <p> | |
* The value of this property may be retrieved by calling the | |
* <code>BundleContext.getProperty</code> method. | |
* | |
* @since 1.3 | |
*/ | |
public static final String SUPPORTS_BOOTCLASSPATH_EXTENSION = "org.osgi.supports.bootclasspath.extension"; | |
/** | |
* Framework environment property (named | |
* "org.osgi.supports.framework.fragment") identifying whether the | |
* Framework supports fragment bundles. If the value of this property is | |
* <code>true</code>, then the Framework supports fragment bundles. The | |
* default value is <code>false</code>. | |
* <p> | |
* The value of this property may be retrieved by calling the | |
* <code>BundleContext.getProperty</code> method. | |
* | |
* @since 1.3 | |
*/ | |
public static final String SUPPORTS_FRAMEWORK_FRAGMENT = "org.osgi.supports.framework.fragment"; | |
/** | |
* Framework environment property (named | |
* "org.osgi.supports.framework.requirebundle") identifying | |
* whether the Framework supports the <code>Require-Bundle</code> manifest | |
* header. If the value of this property is <code>true</code>, then the | |
* Framework supports the <code>Require-Bundle</code> manifest header. The | |
* default value is <code>false</code>. | |
* <p> | |
* The value of this property may be retrieved by calling the | |
* <code>BundleContext.getProperty</code> method. | |
* | |
* @since 1.3 | |
*/ | |
public static final String SUPPORTS_FRAMEWORK_REQUIREBUNDLE = "org.osgi.supports.framework.requirebundle"; | |
/* | |
* Service properties. | |
*/ | |
/** | |
* Service property (named "objectClass") identifying all of the | |
* class names under which a service was registered in the Framework (of | |
* type <code>java.lang.String[]</code>). | |
* | |
* <p> | |
* This property is set by the Framework when a service is registered. | |
*/ | |
public static final String OBJECTCLASS = "objectClass"; | |
/** | |
* Service property (named "service.id") identifying a service's | |
* registration number (of type <code>java.lang.Long</code>). | |
* | |
* <p> | |
* The value of this property is assigned by the Framework when a service is | |
* registered. The Framework assigns a unique value that is larger than all | |
* previously assigned values since the Framework was started. These values | |
* are NOT persistent across restarts of the Framework. | |
*/ | |
public static final String SERVICE_ID = "service.id"; | |
/** | |
* Service property (named "service.pid") identifying a service's | |
* persistent identifier. | |
* | |
* <p> | |
* This property may be supplied in the <code>properties</code> | |
* <code>Dictionary</code> | |
* object passed to the <code>BundleContext.registerService</code> method. | |
* | |
* <p> | |
* A service's persistent identifier uniquely identifies the service and | |
* persists across multiple Framework invocations. | |
* | |
* <p> | |
* By convention, every bundle has its own unique namespace, starting with | |
* the bundle's identifier (see {@link Bundle#getBundleId}) and followed by | |
* a dot (.). A bundle may use this as the prefix of the persistent | |
* identifiers for the services it registers. | |
*/ | |
public static final String SERVICE_PID = "service.pid"; | |
/** | |
* Service property (named "service.ranking") identifying a | |
* service's ranking number (of type <code>java.lang.Integer</code>). | |
* | |
* <p> | |
* This property may be supplied in the <code>properties | |
* Dictionary</code> | |
* object passed to the <code>BundleContext.registerService</code> method. | |
* | |
* <p> | |
* The service ranking is used by the Framework to determine the <i>default | |
* </i> service to be returned from a call to the | |
* {@link BundleContext#getServiceReference} method: If more than one | |
* service implements the specified class, the <code>ServiceReference</code> | |
* object with the highest ranking is returned. | |
* | |
* <p> | |
* The default ranking is zero (0). A service with a ranking of | |
* <code>Integer.MAX_VALUE</code> is very likely to be returned as the | |
* default service, whereas a service with a ranking of | |
* <code>Integer.MIN_VALUE</code> is very unlikely to be returned. | |
* | |
* <p> | |
* If the supplied property value is not of type | |
* <code>java.lang.Integer</code>, it is deemed to have a ranking value | |
* of zero. | |
*/ | |
public static final String SERVICE_RANKING = "service.ranking"; | |
/** | |
* Service property (named "service.vendor") identifying a | |
* service's vendor. | |
* | |
* <p> | |
* This property may be supplied in the properties <code>Dictionary</code> | |
* object passed to the <code>BundleContext.registerService</code> method. | |
*/ | |
public static final String SERVICE_VENDOR = "service.vendor"; | |
/** | |
* Service property (named "service.description") identifying a | |
* service's description. | |
* | |
* <p> | |
* This property may be supplied in the properties <code>Dictionary</code> | |
* object passed to the <code>BundleContext.registerService</code> method. | |
*/ | |
public static final String SERVICE_DESCRIPTION = "service.description"; | |
/** | |
* Manifest header (named "Bundle-SymbolicName") identifying the | |
* bundle's symbolic name. | |
* <p> | |
* The attribute value may be retrieved from the <code>Dictionary</code> | |
* object returned by the <code>Bundle.getHeaders</code> method. | |
* | |
* @since 1.3 | |
*/ | |
public final static String BUNDLE_SYMBOLICNAME = "Bundle-SymbolicName"; | |
/** | |
* Manifest header directive (named "singleton") identifying | |
* whether a bundle is a singleton. The default value is <code>false</code>. | |
* | |
* <p> | |
* The directive value is encoded in the Bundle-SymbolicName manifest header | |
* like: | |
* | |
* <pre> | |
* Bundle-SymbolicName: com.acme.module.test; singleton:=true | |
* </pre> | |
* | |
* @since 1.3 | |
*/ | |
public final static String SINGLETON_DIRECTIVE = "singleton"; | |
/** | |
* Manifest header directive (named "fragment-attachment") | |
* identifying if and when a fragment may attach to a host bundle. The | |
* default value is <code>"always"</code>. | |
* | |
* <p> | |
* The directive value is encoded in the Bundle-SymbolicName manifest header | |
* like: | |
* | |
* <pre> | |
* Bundle-SymbolicName: com.acme.module.test; fragment-attachment:="never" | |
* </pre> | |
* | |
* @see Constants#FRAGMENT_ATTACHMENT_ALWAYS | |
* @see Constants#FRAGMENT_ATTACHMENT_RESOLVETIME | |
* @see Constants#FRAGMENT_ATTACHMENT_NEVER | |
* @since 1.3 | |
*/ | |
public final static String FRAGMENT_ATTACHMENT_DIRECTIVE = "fragment-attachment"; | |
/** | |
* Manifest header directive value (named "always") 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). | |
* | |
* <p> | |
* The directive value is encoded in the Bundle-SymbolicName manifest header | |
* like: | |
* | |
* <pre> | |
* Bundle-SymbolicName: com.acme.module.test; fragment-attachment:="always" | |
* </pre> | |
* | |
* @see Constants#FRAGMENT_ATTACHMENT_DIRECTIVE | |
* @since 1.3 | |
*/ | |
public final static String FRAGMENT_ATTACHMENT_ALWAYS = "always"; | |
/** | |
* Manifest header directive value (named "resolve-time") | |
* 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. | |
* | |
* <p> | |
* The directive value is encoded in the Bundle-SymbolicName manifest header | |
* like: | |
* | |
* <pre> | |
* Bundle-SymbolicName: com.acme.module.test; fragment-attachment:="resolve-time" | |
* </pre> | |
* | |
* @see Constants#FRAGMENT_ATTACHMENT_DIRECTIVE | |
* @since 1.3 | |
*/ | |
public final static String FRAGMENT_ATTACHMENT_RESOLVETIME = "resolve-time"; | |
/** | |
* Manifest header directive value (named "never") 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. | |
* | |
* <p> | |
* The directive value is encoded in the Bundle-SymbolicName manifest header | |
* like: | |
* | |
* <pre> | |
* Bundle-SymbolicName: com.acme.module.test; fragment-attachment:="never" | |
* </pre> | |
* | |
* @see Constants#FRAGMENT_ATTACHMENT_DIRECTIVE | |
* @since 1.3 | |
*/ | |
public final static String FRAGMENT_ATTACHMENT_NEVER = "never"; | |
/** | |
* Manifest header (named "Bundle-Localization") identifying the | |
* base name of the bundle's localization entries. | |
* <p> | |
* The attribute value may be retrieved from the <code>Dictionary</code> | |
* object returned by the <code>Bundle.getHeaders</code> method. | |
* | |
* @see #BUNDLE_LOCALIZATION_DEFAULT_BASENAME | |
* @since 1.3 | |
*/ | |
public final static String BUNDLE_LOCALIZATION = "Bundle-Localization"; | |
/** | |
* Default value for the <code>Bundle-Localization</code> manifest header. | |
* | |
* @see #BUNDLE_LOCALIZATION | |
* @since 1.3 | |
*/ | |
public final static String BUNDLE_LOCALIZATION_DEFAULT_BASENAME = "OSGI-INF/l10n/bundle"; | |
/** | |
* Manifest header (named "Require-Bundle") identifying the | |
* symbolic names of other bundles required by the bundle. | |
* | |
* <p> | |
* The attribute value may be retrieved from the <code>Dictionary</code> | |
* object returned by the <code>Bundle.getHeaders</code> method. | |
* | |
* @since 1.3 | |
*/ | |
public final static String REQUIRE_BUNDLE = "Require-Bundle"; | |
/** | |
* Manifest header attribute (named "bundle-version") identifying | |
* a range of versions for a bundle specified in the Require-Bundle or | |
* Fragment-Host manifest headers. The default value is <code>0.0.0</code>. | |
* | |
* <p> | |
* The attribute value is encoded in the Require-Bundle manifest header | |
* like: | |
* | |
* <pre> | |
* Require-Bundle: com.acme.module.test; bundle-version="1.1" | |
* Require-Bundle: com.acme.module.test; bundle-version="[1.0,2.0)" | |
* </pre> | |
* | |
* <p> | |
* 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 | |
*/ | |
public static final String BUNDLE_VERSION_ATTRIBUTE = "bundle-version"; | |
/** | |
* Manifest header (named "Fragment-Host") identifying the | |
* symbolic name of another bundle for which that the bundle is a fragment. | |
* | |
* <p> | |
* The attribute value may be retrieved from the <code>Dictionary</code> | |
* object returned by the <code>Bundle.getHeaders</code> method. | |
* | |
* @since 1.3 | |
*/ | |
public final static String FRAGMENT_HOST = "Fragment-Host"; | |
/** | |
* Manifest header attribute (named "selection-filter") is used | |
* for selection by filtering based upon system properties. | |
* | |
* <p> | |
* The attribute value is encoded in manifest headers like: | |
* | |
* <pre> | |
* Bundle-NativeCode: libgtk.so; selection-filter="(ws=gtk)"; ... | |
* </pre> | |
* | |
* @since 1.3 | |
*/ | |
public final static String SELECTION_FILTER_ATTRIBUTE = "selection-filter"; | |
/** | |
* Manifest header (named "Bundle-ManifestVersion") 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 R4, or later, syntax must specify a | |
* bundle manifest version. | |
* <p> | |
* The bundle manifest version defined by OSGi R4 or, more specifically, by | |
* V1.3 of the OSGi Framework Specification is "2". | |
* | |
* <p> | |
* The attribute value may be retrieved from the <code>Dictionary</code> | |
* object returned by the <code>Bundle.getHeaders</code> method. | |
* | |
* @since 1.3 | |
*/ | |
public final static String BUNDLE_MANIFESTVERSION = "Bundle-ManifestVersion"; | |
/** | |
* Manifest header attribute (named "version") identifying the | |
* version of a package specified in the Export-Package or Import-Package | |
* manifest header. | |
* | |
* <p> | |
* The attribute value is encoded in the Export-Package or Import-Package | |
* manifest header like: | |
* | |
* <pre> | |
* Import-Package: org.osgi.framework; version="1.1" | |
* </pre> | |
* | |
* @since 1.3 | |
*/ | |
public final static String VERSION_ATTRIBUTE = "version"; | |
/** | |
* Manifest header attribute (named "bundle-symbolic-name") | |
* identifying the symbolic name of a bundle that exports a package | |
* specified in the Import-Package manifest header. | |
* | |
* <p> | |
* The attribute value is encoded in the Import-Package manifest header | |
* like: | |
* | |
* <pre> | |
* Import-Package: org.osgi.framework; bundle-symbolic-name="com.acme.module.test" | |
* </pre> | |
* | |
* @since 1.3 | |
*/ | |
public final static String BUNDLE_SYMBOLICNAME_ATTRIBUTE = "bundle-symbolic-name"; | |
/** | |
* Manifest header directive (named "resolution") identifying the | |
* resolution type in the Import-Package or Require-Bundle manifest header. | |
* | |
* <p> | |
* The directive value is encoded in the Import-Package or Require-Bundle | |
* manifest header like: | |
* | |
* <pre> | |
* Import-Package: org.osgi.framework; resolution:="optional" | |
* Require-Bundle: com.acme.module.test; resolution:="optional" | |
* </pre> | |
* | |
* @see Constants#RESOLUTION_MANDATORY | |
* @see Constants#RESOLUTION_OPTIONAL | |
* @since 1.3 | |
*/ | |
public final static String RESOLUTION_DIRECTIVE = "resolution"; | |
/** | |
* Manifest header directive value (named "mandatory") identifying | |
* a mandatory resolution type. A mandatory resolution type indicates that | |
* the import package or require bundle must be resolved when the bundle is | |
* resolved. If such an import or require bundle cannot be resolved, the | |
* module fails to resolve. | |
* | |
* <p> | |
* The directive value is encoded in the Import-Package or Require-Bundle | |
* manifest header like: | |
* | |
* <pre> | |
* Import-Package: org.osgi.framework; resolution:="manditory" | |
* Require-Bundle: com.acme.module.test; resolution:="manditory" | |
* </pre> | |
* | |
* @see Constants#RESOLUTION_DIRECTIVE | |
* @since 1.3 | |
*/ | |
public final static String RESOLUTION_MANDATORY = "mandatory"; | |
/** | |
* Manifest header directive value (named "optional") identifying | |
* an optional resolution type. An optional resolution type indicates that | |
* the import or require bundle is optional and the bundle may be resolved | |
* without the import or require bundle being resolved. If the import or | |
* require bundle is not resolved when the bundle is resolved, the import or | |
* require bundle may not be resolved before the bundle is refreshed. | |
* | |
* <p> | |
* The directive value is encoded in the Import-Package or Require-Bundle | |
* manifest header like: | |
* | |
* <pre> | |
* Import-Package: org.osgi.framework; resolution:="optional" | |
* Require-Bundle: com.acme.module.test; resolution:="optional" | |
* </pre> | |
* | |
* @see Constants#RESOLUTION_DIRECTIVE | |
* @since 1.3 | |
*/ | |
public final static String RESOLUTION_OPTIONAL = "optional"; | |
/** | |
* Manifest header directive (named "uses") identifying a list of | |
* packages that an exported package uses. | |
* | |
* <p> | |
* The directive value is encoded in the Export-Package manifest header | |
* like: | |
* | |
* <pre> | |
* Export-Package: org.osgi.util.tracker; uses:="org.osgi.framework" | |
* </pre> | |
* | |
* @since 1.3 | |
*/ | |
public final static String USES_DIRECTIVE = "uses"; | |
/** | |
* Manifest header directive (named "include") identifying a list | |
* of classes and/or resources of the specified package which must be | |
* allowed to be exported in the Export-Package manifest header. | |
* | |
* <p> | |
* The directive value is encoded in the Export-Package manifest header | |
* like: | |
* | |
* <pre> | |
* Export-Package: org.osgi.framework; include:="MyStuff*" | |
* </pre> | |
* | |
* @since 1.3 | |
*/ | |
public final static String INCLUDE_DIRECTIVE = "include"; | |
/** | |
* Manifest header directive (named "exclude") identifying a list | |
* of classes and/or resources of the specified package which must not be | |
* allowed to be exported in the Export-Package manifest header. | |
* | |
* <p> | |
* The directive value is encoded in the Export-Package manifest header | |
* like: | |
* | |
* <pre> | |
* Export-Package: org.osgi.framework; exclude:="MyStuff*" | |
* </pre> | |
* | |
* @since 1.3 | |
*/ | |
public final static String EXCLUDE_DIRECTIVE = "exclude"; | |
/** | |
* Manifest header directive (named "mandatory") identifying names | |
* of matching attributes which must be specified by matching Import-Package | |
* statements in the Export-Package manifest header. | |
* | |
* <p> | |
* The directive value is encoded in the Export-Package manifest header | |
* like: | |
* | |
* <pre> | |
* Export-Package: org.osgi.framework; mandatory:="bundle-symbolic-name" | |
* </pre> | |
* | |
* @since 1.3 | |
*/ | |
public final static String MANDATORY_DIRECTIVE = "mandatory"; | |
/** | |
* Manifest header directive (named "visibility") identifying the | |
* visibility of a reqiured bundle in the Require-Bundle manifest header. | |
* | |
* <p> | |
* The directive value is encoded in the Require-Bundle manifest header | |
* like: | |
* | |
* <pre> | |
* Require-Bundle: com.acme.module.test; visibility:="reexport" | |
* </pre> | |
* | |
* @see Constants#VISIBILITY_PRIVATE | |
* @see Constants#VISIBILITY_REEXPORT | |
* @since 1.3 | |
*/ | |
public final static String VISIBILITY_DIRECTIVE = "visibility"; | |
/** | |
* Manifest header directive value (named "private") 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. | |
* | |
* <p> | |
* The directive value is encoded in the Require-Bundle manifest header | |
* like: | |
* | |
* <pre> | |
* Require-Bundle: com.acme.module.test; visibility:="private" | |
* </pre> | |
* | |
* @see Constants#VISIBILITY_DIRECTIVE | |
* @since 1.3 | |
*/ | |
public final static String VISIBILITY_PRIVATE = "private"; | |
/** | |
* Manifest header directive value (named "reexport") 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 arbitrary matching attributes with which | |
* they were exported by the required bundle are deleted. | |
* | |
* <p> | |
* The directive value is encoded in the Require-Bundle manifest header | |
* like: | |
* | |
* <pre> | |
* Require-Bundle: com.acme.module.test; visibility:="reexport" | |
* </pre> | |
* | |
* @see Constants#VISIBILITY_DIRECTIVE | |
* @since 1.3 | |
*/ | |
public final static String VISIBILITY_REEXPORT = "reexport"; | |
/** | |
* Manifest header directive (named "extension") | |
* identifying the type of the extension fragment. | |
* | |
* <p> | |
* The directive value is encoded in the Fragment-Host manifest header | |
* like: | |
* | |
* <pre> | |
* Fragment-Host: system.bundle; extension:="framework" | |
* </pre> | |
* | |
* @see Constants#EXTENSION_FRAMEWORK | |
* @see Constants#EXTENSION_BOOTCLASSPATH | |
* @since 1.3 | |
*/ | |
public final static String EXTENSION_DIRECTIVE = "extension"; | |
/** | |
* Manifest header directive value (named "framework") 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. | |
* | |
* <p> | |
* The directive value is encoded in the Fragment-Host manifest header | |
* like: | |
* | |
* <pre> | |
* Fragment-Host: system.bundle; extension:="framework" | |
* </pre> | |
* | |
* @see Constants#EXTENSION_DIRECTIVE | |
* @since 1.3 | |
*/ | |
public final static String EXTENSION_FRAMEWORK = "framework"; | |
/** | |
* Manifest header directive value (named "bootclasspath") 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. | |
* | |
* <p> | |
* The directive value is encoded in the Fragment-Host manifest header | |
* like: | |
* | |
* <pre> | |
* Fragment-Host: system.bundle; extension:="bootclasspath" | |
* </pre> | |
* | |
* @see Constants#EXTENSION_DIRECTIVE | |
* @since 1.3 | |
*/ | |
public final static String EXTENSION_BOOTCLASSPATH = "bootclasspath"; | |
} |