| /* |
| * $Header: /cvshome/build/org.osgi.framework/src/org/osgi/framework/Constants.java,v 1.18 2005/06/21 15:45:08 hargrave Exp $ |
| * |
| * Copyright (c) OSGi Alliance (2000, 2005). All Rights Reserved. |
| * |
| * This program and the accompanying materials are made available under the |
| * terms of the Eclipse Public License v1.0 which accompanies this |
| * distribution, and is available at http://www.eclipse.org/legal/epl-v10.html. |
| */ |
| |
| package org.osgi.framework; |
| |
| import java.util.Dictionary; |
| |
| /** |
| * 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.18 $ |
| * @since 1.1 |
| * @see Bundle#getHeaders() |
| * @see BundleContext#getProperty |
| * @see BundleContext#registerService(String[],Object,Dictionary) |
| */ |
| |
| 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 directive (named "multiple-hosts") identifying |
| * if the fragment should attach to each bundle selected by the |
| * Fragment-Host manifest header. The default value is <code>false</code>. |
| * |
| * <p> |
| * The directive value is encoded in the Fragment-Host manifest header like: |
| * |
| * <pre> |
| * Fragment-Host: com.acme.module.test; multiple-hosts:="false" |
| * </pre> |
| * |
| * @since 1.3 |
| */ |
| public final static String MULTIPLE_HOSTS_DIRECTIVE = "multiple-hosts"; |
| |
| /** |
| * 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"; |
| } |