These are no longer needed, since we updated to the R4.2 API. (FELIX-1205)


git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@782739 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/framework/src/main/java/org/osgi/framework/Constants.java b/framework/src/main/java/org/osgi/framework/Constants.java
deleted file mode 100644
index 16a10d8..0000000
--- a/framework/src/main/java/org/osgi/framework/Constants.java
+++ /dev/null
@@ -1,1312 +0,0 @@
-/*
- * Copyright (c) OSGi Alliance (2000, 2009). 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 system properties, service
- * properties, and Manifest header attribute keys.
- * 
- * <p>
- * The values associated with these keys are of type
- * <code>String</code>, unless otherwise indicated.
- * 
- * @since 1.1
- * @version $Revision: 6552 $
- */
-
-public interface Constants {
-	/**
-	 * Location identifier of the OSGi <i>system bundle </i>, which is defined
-	 * to be &quot;System Bundle&quot;.
-	 */
-	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 &quot;system.bundle&quot;.
-	 * 
-	 * @since 1.3
-	 */
-	public static final String	SYSTEM_BUNDLE_SYMBOLICNAME				= "system.bundle";
-
-	/**
-	 * Manifest header 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 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 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 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 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 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 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 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.
-	 * 
-	 * @deprecated As of 1.2.
-	 */
-	public static final String	EXPORT_SERVICE							= "Export-Service";
-
-	/**
-	 * Manifest header 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 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 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.
-	 * 
-	 * @deprecated As of 1.2.
-	 */
-	public static final String	IMPORT_SERVICE							= "Import-Service";
-
-	/**
-	 * Manifest header 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 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 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 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 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 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 identifying the version of a package specified
-	 * in the Export-Package or Import-Package manifest header.
-	 * 
-	 * @deprecated As of 1.3. This has been replaced by
-	 *             {@link #VERSION_ATTRIBUTE}.
-	 */
-	public static final String	PACKAGE_SPECIFICATION_VERSION			= "specification-version";
-
-	/**
-	 * Manifest header attribute 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>
-	 * 
-	 * @see #BUNDLE_NATIVECODE
-	 */
-	public static final String	BUNDLE_NATIVECODE_PROCESSOR				= "processor";
-
-	/**
-	 * Manifest header attribute 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>
-	 * 
-	 * @see #BUNDLE_NATIVECODE
-	 */
-	public static final String	BUNDLE_NATIVECODE_OSNAME				= "osname";
-
-	/**
-	 * Manifest header attribute 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=&quot;2.34&quot; ...
-	 * </pre>
-	 * 
-	 * @see #BUNDLE_NATIVECODE
-	 */
-	public static final String	BUNDLE_NATIVECODE_OSVERSION				= "osversion";
-
-	/**
-	 * 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.
-	 * <p>
-	 * The attribute value is encoded in the Bundle-NativeCode manifest header
-	 * like:
-	 * 
-	 * <pre>
-	 *     Bundle-NativeCode: http.so ; language=nl_be ...
-	 * </pre>
-	 * 
-	 * @see #BUNDLE_NATIVECODE
-	 */
-	public static final String	BUNDLE_NATIVECODE_LANGUAGE				= "language";
-
-	/**
-	 * 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.
-	 * 
-	 * <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";
-
-	/**
-	 * Manifest header 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 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>
-	 * 
-	 * <p>
-	 * The attribute value may be retrieved from the <code>Dictionary</code>
-	 * object returned by the <code>Bundle.getHeaders</code> method.
-	 * 
-	 * @see #BUNDLE_SYMBOLICNAME
-	 * @since 1.3
-	 */
-	public final static String	SINGLETON_DIRECTIVE						= "singleton";
-
-	/**
-	 * Manifest header directive identifying if and when a fragment may attach
-	 * to a host bundle. The default value is
-	 * {@link #FRAGMENT_ATTACHMENT_ALWAYS always}.
-	 * 
-	 * <p>
-	 * The directive value is encoded in the Bundle-SymbolicName manifest header
-	 * like:
-	 * 
-	 * <pre>
-	 *     Bundle-SymbolicName: com.acme.module.test; fragment-attachment:=&quot;never&quot;
-	 * </pre>
-	 * 
-	 * @see #BUNDLE_SYMBOLICNAME
-	 * @see #FRAGMENT_ATTACHMENT_ALWAYS
-	 * @see #FRAGMENT_ATTACHMENT_RESOLVETIME
-	 * @see #FRAGMENT_ATTACHMENT_NEVER
-	 * @since 1.3
-	 */
-	public final static String	FRAGMENT_ATTACHMENT_DIRECTIVE			= "fragment-attachment";
-
-	/**
-	 * 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).
-	 * 
-	 * <p>
-	 * The directive value is encoded in the Bundle-SymbolicName manifest header
-	 * like:
-	 * 
-	 * <pre>
-	 *     Bundle-SymbolicName: com.acme.module.test; fragment-attachment:=&quot;always&quot;
-	 * </pre>
-	 * 
-	 * @see #FRAGMENT_ATTACHMENT_DIRECTIVE
-	 * @since 1.3
-	 */
-	public final static String	FRAGMENT_ATTACHMENT_ALWAYS				= "always";
-
-	/**
-	 * 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.
-	 * 
-	 * <p>
-	 * The directive value is encoded in the Bundle-SymbolicName manifest header
-	 * like:
-	 * 
-	 * <pre>
-	 *     Bundle-SymbolicName: com.acme.module.test; fragment-attachment:=&quot;resolve-time&quot;
-	 * </pre>
-	 * 
-	 * @see #FRAGMENT_ATTACHMENT_DIRECTIVE
-	 * @since 1.3
-	 */
-	public final static String	FRAGMENT_ATTACHMENT_RESOLVETIME			= "resolve-time";
-
-	/**
-	 * 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.
-	 * 
-	 * <p>
-	 * The directive value is encoded in the Bundle-SymbolicName manifest header
-	 * like:
-	 * 
-	 * <pre>
-	 *     Bundle-SymbolicName: com.acme.module.test; fragment-attachment:=&quot;never&quot;
-	 * </pre>
-	 * 
-	 * @see #FRAGMENT_ATTACHMENT_DIRECTIVE
-	 * @since 1.3
-	 */
-	public final static String	FRAGMENT_ATTACHMENT_NEVER				= "never";
-
-	/**
-	 * Manifest header 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 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 identifying a range of versions for a bundle
-	 * specified in the <code>Require-Bundle</code> or
-	 * <code>Fragment-Host</code> 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=&quot;1.1&quot;
-	 *     Require-Bundle: com.acme.module.test; bundle-version=&quot;[1.0,2.0)&quot;
-	 * </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.
-	 * 
-	 * @see #REQUIRE_BUNDLE
-	 * @since 1.3
-	 */
-	public static final String	BUNDLE_VERSION_ATTRIBUTE				= "bundle-version";
-
-	/**
-	 * Manifest header 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 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=&quot;(ws=gtk)&quot;; ...
-	 * </pre>
-	 * 
-	 * @see #BUNDLE_NATIVECODE
-	 * @since 1.3
-	 */
-	public final static String	SELECTION_FILTER_ATTRIBUTE				= "selection-filter";
-
-	/**
-	 * 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.
-	 * <p>
-	 * The bundle manifest version defined by OSGi Release 4 or, more
-	 * specifically, by version 1.3 of the OSGi Core 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 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=&quot;1.1&quot;
-	 * </pre>
-	 * 
-	 * @see #EXPORT_PACKAGE
-	 * @see #IMPORT_PACKAGE
-	 * @since 1.3
-	 */
-	public final static String	VERSION_ATTRIBUTE						= "version";
-
-	/**
-	 * Manifest header attribute 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=&quot;com.acme.module.test&quot;
-	 * </pre>
-	 * 
-	 * @see #IMPORT_PACKAGE
-	 * @since 1.3
-	 */
-	public final static String	BUNDLE_SYMBOLICNAME_ATTRIBUTE			= "bundle-symbolic-name";
-
-	/**
-	 * Manifest header directive identifying the resolution type in the
-	 * Import-Package or Require-Bundle manifest header. The default value is
-	 * {@link #RESOLUTION_MANDATORY mandatory}.
-	 * 
-	 * <p>
-	 * The directive value is encoded in the Import-Package or Require-Bundle
-	 * manifest header like:
-	 * 
-	 * <pre>
-	 *     Import-Package: org.osgi.framework; resolution:=&quot;optional&quot;
-	 *     Require-Bundle: com.acme.module.test; resolution:=&quot;optional&quot;
-	 * </pre>
-	 * 
-	 * @see #IMPORT_PACKAGE
-	 * @see #REQUIRE_BUNDLE
-	 * @see #RESOLUTION_MANDATORY
-	 * @see #RESOLUTION_OPTIONAL
-	 * @since 1.3
-	 */
-	public final static String	RESOLUTION_DIRECTIVE					= "resolution";
-
-	/**
-	 * Manifest header directive value 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:=&quot;manditory&quot;
-	 *     Require-Bundle: com.acme.module.test; resolution:=&quot;manditory&quot;
-	 * </pre>
-	 * 
-	 * @see #RESOLUTION_DIRECTIVE
-	 * @since 1.3
-	 */
-	public final static String	RESOLUTION_MANDATORY					= "mandatory";
-
-	/**
-	 * Manifest header directive value 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:=&quot;optional&quot;
-	 *     Require-Bundle: com.acme.module.test; resolution:=&quot;optional&quot;
-	 * </pre>
-	 * 
-	 * @see #RESOLUTION_DIRECTIVE
-	 * @since 1.3
-	 */
-	public final static String	RESOLUTION_OPTIONAL						= "optional";
-
-	/**
-	 * Manifest header directive 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:=&quot;org.osgi.framework&quot;
-	 * </pre>
-	 * 
-	 * @see #EXPORT_PACKAGE
-	 * @since 1.3
-	 */
-	public final static String	USES_DIRECTIVE							= "uses";
-
-	/**
-	 * Manifest header directive identifying a list of classes to include in the
-	 * exported package.
-	 * 
-	 * <p>
-	 * 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:
-	 * 
-	 * <pre>
-	 *     Export-Package: org.osgi.framework; include:=&quot;MyClass*&quot;
-	 * </pre>
-	 * 
-	 * <p>
-	 * 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:
-	 * 
-	 * <pre>
-	 *     Bundle-ActivationPolicy: lazy; include:=&quot;org.osgi.framework&quot;
-	 * </pre>
-	 * 
-	 * @see #EXPORT_PACKAGE
-	 * @see #BUNDLE_ACTIVATIONPOLICY
-	 * @since 1.3
-	 */
-	public final static String	INCLUDE_DIRECTIVE						= "include";
-
-	/**
-	 * Manifest header directive identifying a list of classes to exclude in the
-	 * exported package..
-	 * <p>
-	 * 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:
-	 * 
-	 * <pre>
-	 *     Export-Package: org.osgi.framework; exclude:=&quot;*Impl&quot;
-	 * </pre>
-	 * 
-	 * <p>
-	 * 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:
-	 * 
-	 * <pre>
-	 *     Bundle-ActivationPolicy: lazy; exclude:=&quot;org.osgi.framework&quot;
-	 * </pre>
-	 * 
-	 * @see #EXPORT_PACKAGE
-	 * @see #BUNDLE_ACTIVATIONPOLICY
-	 * @since 1.3
-	 */
-	public final static String	EXCLUDE_DIRECTIVE						= "exclude";
-
-	/**
-	 * Manifest header directive 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:=&quot;bundle-symbolic-name&quot;
-	 * </pre>
-	 * 
-	 * @see #EXPORT_PACKAGE
-	 * @since 1.3
-	 */
-	public final static String	MANDATORY_DIRECTIVE						= "mandatory";
-
-	/**
-	 * Manifest header directive identifying the visibility of a required bundle
-	 * in the Require-Bundle manifest header. The default value is
-	 * {@link #VISIBILITY_PRIVATE private}.
-	 * 
-	 * <p>
-	 * The directive value is encoded in the Require-Bundle manifest header
-	 * like:
-	 * 
-	 * <pre>
-	 *     Require-Bundle: com.acme.module.test; visibility:=&quot;reexport&quot;
-	 * </pre>
-	 * 
-	 * @see #REQUIRE_BUNDLE
-	 * @see #VISIBILITY_PRIVATE
-	 * @see #VISIBILITY_REEXPORT
-	 * @since 1.3
-	 */
-	public final static String	VISIBILITY_DIRECTIVE					= "visibility";
-
-	/**
-	 * 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.
-	 * 
-	 * <p>
-	 * The directive value is encoded in the Require-Bundle manifest header
-	 * like:
-	 * 
-	 * <pre>
-	 *     Require-Bundle: com.acme.module.test; visibility:=&quot;private&quot;
-	 * </pre>
-	 * 
-	 * @see #VISIBILITY_DIRECTIVE
-	 * @since 1.3
-	 */
-	public final static String	VISIBILITY_PRIVATE						= "private";
-
-	/**
-	 * 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
-	 * 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:=&quot;reexport&quot;
-	 * </pre>
-	 * 
-	 * @see #VISIBILITY_DIRECTIVE
-	 * @since 1.3
-	 */
-	public final static String	VISIBILITY_REEXPORT						= "reexport";
-
-	/**
-	 * Manifest header directive 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:=&quot;framework&quot;
-	 * </pre>
-	 * 
-	 * @see #FRAGMENT_HOST
-	 * @see #EXTENSION_FRAMEWORK
-	 * @see #EXTENSION_BOOTCLASSPATH
-	 * @since 1.3
-	 */
-	public final static String	EXTENSION_DIRECTIVE						= "extension";
-
-	/**
-	 * 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.
-	 * 
-	 * <p>
-	 * The directive value is encoded in the Fragment-Host manifest header like:
-	 * 
-	 * <pre>
-	 *     Fragment-Host: system.bundle; extension:=&quot;framework&quot;
-	 * </pre>
-	 * 
-	 * @see #EXTENSION_DIRECTIVE
-	 * @since 1.3
-	 */
-	public final static String	EXTENSION_FRAMEWORK						= "framework";
-
-	/**
-	 * 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.
-	 * 
-	 * <p>
-	 * The directive value is encoded in the Fragment-Host manifest header like:
-	 * 
-	 * <pre>
-	 *     Fragment-Host: system.bundle; extension:=&quot;bootclasspath&quot;
-	 * </pre>
-	 * 
-	 * @see #EXTENSION_DIRECTIVE
-	 * @since 1.3
-	 */
-	public final static String	EXTENSION_BOOTCLASSPATH					= "bootclasspath";
-
-	/**
-	 * Manifest header identifying the bundle's activation policy.
-	 * <p>
-	 * The attribute value may be retrieved from the <code>Dictionary</code>
-	 * object returned by the <code>Bundle.getHeaders</code> method.
-	 * 
-	 * @since 1.4
-	 * @see #ACTIVATION_LAZY
-	 * @see #INCLUDE_DIRECTIVE
-	 * @see #EXCLUDE_DIRECTIVE
-	 */
-	public final static String	BUNDLE_ACTIVATIONPOLICY					= "Bundle-ActivationPolicy";
-
-	/**
-	 * Bundle activation policy declaring the bundle must be activated when the
-	 * first class load is made from the bundle.
-	 * <p>
-	 * A bundle with the lazy activation policy that is started with the
-	 * {@link Bundle#START_ACTIVATION_POLICY START_ACTIVATION_POLICY} option
-	 * will wait in the {@link Bundle#STARTING 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.
-	 * <p>
-	 * The activation policy value is specified as in the
-	 * Bundle-ActivationPolicy manifest header like:
-	 * 
-	 * <pre>
-	 *       Bundle-ActivationPolicy: lazy
-	 * </pre>
-	 * 
-	 * @see #BUNDLE_ACTIVATIONPOLICY
-	 * @see Bundle#start(int)
-	 * @see Bundle#START_ACTIVATION_POLICY
-	 * @since 1.4
-	 */
-	public final static String	ACTIVATION_LAZY							= "lazy";
-
-	/**
-	 * Framework environment property 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 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 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 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 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 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 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 identifying packages for which the
-	 * Framework must delegate class loading to the parent class loader of the
-	 * bundle.
-	 * 
-	 * <p>
-	 * The value of this property may be retrieved by calling the
-	 * <code>BundleContext.getProperty</code> method.
-	 * 
-	 * @see #FRAMEWORK_BUNDLE_PARENT
-	 * @since 1.3
-	 */
-	public static final String	FRAMEWORK_BOOTDELEGATION				= "org.osgi.framework.bootdelegation";
-
-	/**
-	 * Framework environment property identifying packages which the system
-	 * bundle must export.
-	 * 
-	 * <p>
-	 * If this property is not specified then the framework must calculate a
-	 * reasonable default value for the current execution environment.
-	 * 
-	 * <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 identifying extra packages which the
-	 * system bundle must export from the current execution environment.
-	 * 
-	 * <p>
-	 * This property is useful for configuring extra system packages in addition
-	 * to the system packages calculated by the framework.
-	 * 
-	 * <p>
-	 * The value of this property may be retrieved by calling the
-	 * <code>BundleContext.getProperty</code> method.
-	 * 
-	 * @see #FRAMEWORK_SYSTEMPACKAGES
-	 * @since 1.5
-	 */
-	public static final String	FRAMEWORK_SYSTEMPACKAGES_EXTRA			= "org.osgi.framework.system.packages.extra";
-
-	/**
-	 * Framework environment property identifying whether the Framework supports
-	 * framework extension bundles.
-	 * 
-	 * <p>
-	 * As of version 1.4, the value of this property must be <code>true</code>.
-	 * The Framework must support framework extension bundles.
-	 * 
-	 * <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 identifying whether the Framework supports
-	 * bootclasspath extension bundles.
-	 * 
-	 * <p>
-	 * 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 identifying whether the Framework supports
-	 * fragment bundles.
-	 * 
-	 * <p>
-	 * As of version 1.4, the value of this property must be <code>true</code>.
-	 * The Framework must support fragment bundles.
-	 * <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 identifying whether the Framework supports
-	 * the {@link #REQUIRE_BUNDLE Require-Bundle} manifest header.
-	 * 
-	 * <p>
-	 * As of version 1.4, the value of this property must be <code>true</code>.
-	 * The Framework must support the <code>Require-Bundle</code> manifest
-	 * header.
-	 * <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";
-
-	/**
-	 * Specifies the type of security manager the framework must use. If not
-	 * specified then the framework will not set the VM security manager.
-	 * 
-	 * @see #FRAMEWORK_SECURITY_OSGI
-	 * @since 1.5
-	 */
-	public final static String	FRAMEWORK_SECURITY						= "org.osgi.framework.security";
-
-	/**
-	 * Specifies that a security manager that supports all security aspects of
-	 * the OSGi core specification including postponed conditions must be
-	 * installed.
-	 * 
-	 * <p>
-	 * If this value is specified and there is a security manager already
-	 * installed, then a <code>SecurityException</code> must be thrown when the
-	 * Framework is initialized.
-	 * 
-	 * @see #FRAMEWORK_SECURITY
-	 * @since 1.5
-	 */
-	public final static String	FRAMEWORK_SECURITY_OSGI					= "osgi";
-
-	/**
-	 * Specified 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.
-	 * <p>
-	 * If this property is not set, the framework should use a reasonable
-	 * platform default for the persistent storage area.
-	 * 
-	 * @since 1.5
-	 */
-	public final static String	FRAMEWORK_STORAGE						= "org.osgi.framework.storage";
-
-	/**
-	 * Specifies 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.
-	 * 
-	 * @see #FRAMEWORK_STORAGE_CLEAN_ONFIRSTINIT
-	 * @since 1.5
-	 */
-	public final static String	FRAMEWORK_STORAGE_CLEAN					= "org.osgi.framework.storage.clean";
-
-	/**
-	 * 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
-	 */
-	public final static String  FRAMEWORK_STORAGE_CLEAN_ONFIRSTINIT			= "onFirstInit";
-
-	/**
-	 * Specifies 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 <code>System.mapLibraryName(String)</code> 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 <code>.a</code> and <code>.so</code>, but
-	 * <code>System.mapLibraryName(String)</code> will only return names with
-	 * the <code>.a</code> extension.
-	 * 
-	 * @since 1.5
-	 */
-	public final static String	FRAMEWORK_LIBRARY_EXTENSIONS			= "org.osgi.framework.library.extensions";
-
-	/**
-	 * Specifies 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.
-	 * 
-	 * <pre>
-	 * chmod +rx ${abspath}
-	 * </pre>
-	 * 
-	 * The <code>${abspath}</code> is used by the framework to substitute the
-	 * actual absolute file path.
-	 * 
-	 * @since 1.5
-	 */
-	public final static String	FRAMEWORK_EXECPERMISSION				= "org.osgi.framework.command.execpermission";
-
-	/**
-	 * Specifies the trust repositories used by the framework. The value is a
-	 * <code>java.io.File.pathSeparator</code> separated list of valid file
-	 * paths to files that contain key stores of type <code>JKS</code>. 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.
-	 * <p>
-	 * 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
-	 */
-	public final static String	FRAMEWORK_TRUST_REPOSITORIES			= "org.osgi.framework.trust.repositories";
-
-	/**
-	 * Specifies the current windowing system. The framework should provide a
-	 * reasonable default if this is not set.
-	 * 
-	 * @since 1.5
-	 */
-	public final static String	FRAMEWORK_WINDOWSYSTEM					= "org.osgi.framework.windowsystem";
-
-	/**
-	 * Specifies the beginning start level of the framework.
-	 * 
-	 * @see "Core Specification, section 8.2.3."
-	 * @since 1.5
-	 */
-	public final static String	FRAMEWORK_BEGINNING_STARTLEVEL			= "org.osgi.framework.startlevel.beginning";
-
-	/**
-	 * Specifies the parent class loader type for all bundle class loaders.
-	 * Default value is {@link #FRAMEWORK_BUNDLE_PARENT_BOOT boot}.
-	 * 
-	 * @see #FRAMEWORK_BUNDLE_PARENT_BOOT
-	 * @see #FRAMEWORK_BUNDLE_PARENT_EXT
-	 * @see #FRAMEWORK_BUNDLE_PARENT_APP
-	 * @see #FRAMEWORK_BUNDLE_PARENT_FRAMEWORK
-	 * @since 1.5
-	 */
-	public final static String FRAMEWORK_BUNDLE_PARENT 					= "org.osgi.framework.bundle.parent";
-
-	/**
-	 * Specifies to use of the boot class loader as the parent class loader for
-	 * all bundle class loaders.
-	 * 
-	 * @since 1.5
-	 * @see #FRAMEWORK_BUNDLE_PARENT
-	 */
-	public final static String	FRAMEWORK_BUNDLE_PARENT_BOOT			= "boot";
-
-	/**
-	 * Specifies to use the extension class loader as the parent class loader
-	 * for all bundle class loaders.
-	 * 
-	 * @since 1.5
-	 * @see #FRAMEWORK_BUNDLE_PARENT
-	 */
-	public final static String	FRAMEWORK_BUNDLE_PARENT_EXT				= "ext";
-
-	/**
-	 * 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 
-	 * {@link #FRAMEWORK_BUNDLE_PARENT_FRAMEWORK}.
-	 * 
-	 * @since 1.5
-	 * @see #FRAMEWORK_BUNDLE_PARENT
-	 */
-	public final static String	FRAMEWORK_BUNDLE_PARENT_APP				= "app";
-
-	/**
-	 * 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 
-	 * {@link #FRAMEWORK_BUNDLE_PARENT_APP}.
-	 * 
-	 * @since 1.5
-	 * @see #FRAMEWORK_BUNDLE_PARENT
-	 */
-	public final static String	FRAMEWORK_BUNDLE_PARENT_FRAMEWORK		= "framework";
-
-	/*
-	 * Service properties.
-	 */
-	
-	/**
-	 * 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 <code>String[]</code>.
-	 * 
-	 * <p>
-	 * This property is set by the Framework when a service is registered.
-	 */
-	public static final String	OBJECTCLASS								= "objectClass";
-
-	/**
-	 * Service property identifying a service's registration number. The value
-	 * of this property must be of type <code>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 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. The value of this
-	 * property must be of type <code>String</code>, <code>String[]</code>, or
-	 * <code>Collection</code> of <code>String</code>.
-	 * 
-	 * <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 identifying a service's ranking number.
-	 * 
-	 * <p>
-	 * This property may be supplied in the <code>properties
-	 * Dictionary</code> object passed to the
-	 * <code>BundleContext.registerService</code> method. The value of this
-	 * property must be of type <code>Integer</code>.
-	 * 
-	 * <p>
-	 * The service ranking is used by the Framework to determine the <i>natural
-	 * order</i> of services, see {@link ServiceReference#compareTo(Object)},
-	 * and the <i>default</i> service to be returned from a call to the
-	 * {@link BundleContext#getServiceReference} method.
-	 * 
-	 * <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>Integer</code>, it is
-	 * deemed to have a ranking value of zero.
-	 */
-	public static final String	SERVICE_RANKING							= "service.ranking";
-
-	/**
-	 * Service property 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 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"; 
-}
diff --git a/framework/src/main/java/org/osgi/framework/FrameworkEvent.java b/framework/src/main/java/org/osgi/framework/FrameworkEvent.java
deleted file mode 100644
index ee86213..0000000
--- a/framework/src/main/java/org/osgi/framework/FrameworkEvent.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*
- * Copyright (c) OSGi Alliance (2004, 2008). 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;
-
-import java.util.EventObject;
-
-/**
- * A general event from the Framework.
- * 
- * <p>
- * <code>FrameworkEvent</code> objects are delivered to
- * <code>FrameworkListener</code>s when a general event occurs within the OSGi
- * environment. A type code is used to identify the event type for future
- * extendability.
- * 
- * <p>
- * OSGi Alliance reserves the right to extend the set of event types.
- * 
- * @Immutable
- * @see FrameworkListener
- * @version $Revision: 5680 $
- */
-
-public class FrameworkEvent extends EventObject {
-	static final long		serialVersionUID				= 207051004521261705L;
-	/**
-	 * Bundle related to the event.
-	 */
-	private final Bundle	bundle;
-
-	/**
-	 * Exception related to the event.
-	 */
-	private final Throwable	throwable;
-
-	/**
-	 * Type of event.
-	 */
-	private final int		type;
-
-	/**
-	 * The Framework has started.
-	 * 
-	 * <p>
-	 * This event is fired when the Framework has started after all installed
-	 * bundles that are marked to be started have been started and the Framework
-	 * has reached the initial start level. The source of this event is the
-	 * System Bundle.
-	 * 
-	 * <p>
-	 * The value of <code>STARTED</code> is 0x00000001.
-	 * 
-	 * @see "<code>StartLevel</code>"
-	 */
-	public final static int	STARTED							= 0x00000001;
-
-	/**
-	 * An error has occurred.
-	 * 
-	 * <p>
-	 * There was an error associated with a bundle.
-	 * 
-	 * <p>
-	 * The value of <code>ERROR</code> is 0x00000002.
-	 */
-	public final static int	ERROR							= 0x00000002;
-
-	/**
-	 * A PackageAdmin.refreshPackage operation has completed.
-	 * 
-	 * <p>
-	 * This event is fired when the Framework has completed the refresh packages
-	 * operation initiated by a call to the PackageAdmin.refreshPackages method.
-	 * The source of this event is the System Bundle.
-	 * 
-	 * <p>
-	 * The value of <code>PACKAGES_REFRESHED</code> is 0x00000004.
-	 * 
-	 * @since 1.2
-	 * @see "<code>PackageAdmin.refreshPackages</code>"
-	 */
-	public final static int	PACKAGES_REFRESHED				= 0x00000004;
-
-	/**
-	 * A StartLevel.setStartLevel operation has completed.
-	 * 
-	 * <p>
-	 * This event is fired when the Framework has completed changing the active
-	 * start level initiated by a call to the StartLevel.setStartLevel method.
-	 * The source of this event is the System Bundle.
-	 * 
-	 * <p>
-	 * The value of <code>STARTLEVEL_CHANGED</code> is 0x00000008.
-	 * 
-	 * @since 1.2
-	 * @see "<code>StartLevel</code>"
-	 */
-	public final static int	STARTLEVEL_CHANGED				= 0x00000008;
-
-	/**
-	 * A warning has occurred.
-	 * 
-	 * <p>
-	 * There was a warning associated with a bundle.
-	 * 
-	 * <p>
-	 * The value of <code>WARNING</code> is 0x00000010.
-	 * 
-	 * @since 1.3
-	 */
-	public final static int	WARNING							= 0x00000010;
-
-	/**
-	 * An informational event has occurred.
-	 * 
-	 * <p>
-	 * There was an informational event associated with a bundle.
-	 * 
-	 * <p>
-	 * The value of <code>INFO</code> is 0x00000020.
-	 * 
-	 * @since 1.3
-	 */
-	public final static int	INFO							= 0x00000020;
-
-	/**
-	 * The Framework has stopped.
-	 * 
-	 * <p>
-	 * This event is fired when the Framework has been stopped because of a stop
-	 * operation on the system bundle. The source of this event is the System
-	 * Bundle.
-	 * 
-	 * <p>
-	 * The value of <code>STOPPED</code> is 0x00000040.
-	 * 
-	 * @since 1.5
-	 */
-	public final static int	STOPPED							= 0x00000040;
-
-	/**
-	 * The Framework has stopped during update.
-	 * 
-	 * <p>
-	 * This event is fired when the Framework has been stopped because of an
-	 * update operation on the system bundle. The Framework will be restarted
-	 * after this event is fired. The source of this event is the System Bundle.
-	 * 
-	 * <p>
-	 * The value of <code>STOPPED_UPDATE</code> is 0x00000080.
-	 * 
-	 * @since 1.5
-	 */
-	public final static int	STOPPED_UPDATE					= 0x00000080;
-
-	/**
-	 * The Framework has stopped and the boot class path has changed.
-	 * 
-	 * <p>
-	 * This event is fired when the Framework has been stopped because of a stop
-	 * operation on the system bundle and a bootclasspath extension bundle has
-	 * been installed or updated. The source of this event is the System Bundle.
-	 * 
-	 * <p>
-	 * The value of <code>STOPPED_BOOTCLASSPATH_MODIFIED</code> is 0x00000100.
-	 * 
-	 * @since 1.5
-	 */
-	public final static int	STOPPED_BOOTCLASSPATH_MODIFIED	= 0x00000100;
-
-	/**
-	 * Creates a Framework event.
-	 * 
-	 * @param type The event type.
-	 * @param source The event source object. This may not be <code>null</code>.
-	 * @deprecated As of 1.2. This constructor is deprecated in favor of using
-	 *             the other constructor with the System Bundle as the event
-	 *             source.
-	 */
-	public FrameworkEvent(int type, Object source) {
-		super(source);
-		this.type = type;
-		this.bundle = null;
-		this.throwable = null;
-	}
-
-	/**
-	 * Creates a Framework event regarding the specified bundle.
-	 * 
-	 * @param type The event type.
-	 * @param bundle The event source.
-	 * @param throwable The related exception. This argument may be
-	 *        <code>null</code> if there is no related exception.
-	 */
-	public FrameworkEvent(int type, Bundle bundle, Throwable throwable) {
-		super(bundle);
-		this.type = type;
-		this.bundle = bundle;
-		this.throwable = throwable;
-	}
-
-	/**
-	 * Returns the exception related to this event.
-	 * 
-	 * @return The related exception or <code>null</code> if none.
-	 */
-	public Throwable getThrowable() {
-		return throwable;
-	}
-
-	/**
-	 * Returns the bundle associated with the event. This bundle is also the
-	 * source of the event.
-	 * 
-	 * @return The bundle associated with the event.
-	 */
-	public Bundle getBundle() {
-		return bundle;
-	}
-
-	/**
-	 * Returns the type of framework event.
-	 * <p>
-	 * The type values are:
-	 * <ul>
-	 * <li>{@link #STARTED}
-	 * <li>{@link #ERROR}
-	 * <li>{@link #WARNING}
-	 * <li>{@link #INFO}
-	 * <li>{@link #PACKAGES_REFRESHED}
-	 * <li>{@link #STARTLEVEL_CHANGED}
-	 * </ul>
-	 * 
-	 * @return The type of state change.
-	 */
-
-	public int getType() {
-		return type;
-	}
-}
diff --git a/framework/src/main/java/org/osgi/framework/ServiceException.java b/framework/src/main/java/org/osgi/framework/ServiceException.java
deleted file mode 100644
index c67d3da..0000000
--- a/framework/src/main/java/org/osgi/framework/ServiceException.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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;
-
-public class ServiceException extends RuntimeException
-{
-    private String type;
-
-    public ServiceException(String type)
-    {
-        this(type, null);
-    }
-
-    public ServiceException(String type, Throwable cause)
-    {
-        super(cause);
-        this.type = type;
-    }
-
-    public String getType()
-    {
-        return type;
-    }
-}
\ No newline at end of file
diff --git a/framework/src/main/java/org/osgi/framework/hooks/service/EventHook.java b/framework/src/main/java/org/osgi/framework/hooks/service/EventHook.java
deleted file mode 100644
index d2839aa..0000000
--- a/framework/src/main/java/org/osgi/framework/hooks/service/EventHook.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) OSGi Alliance (2008 2009). 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.hooks.service;
-
-import java.util.Collection;
-
-import org.osgi.framework.ServiceEvent;
-
-/**
- * OSGi Framework Service Event Hook Service.
- * 
- * <p>
- * Bundles registering this service will be called during framework service
- * (register, modify, and unregister service) operations.
- * 
- * @ThreadSafe
- * @version $Revision: 6211 $
- */
-
-public interface EventHook {
-	/**
-	 * Event hook method. This method is called prior to service event delivery
-	 * when a publishing bundle registers, modifies or unregisters a service.
-	 * This method can filter the bundles which receive the event.
-	 * 
-	 * @param event The service event to be delivered.
-	 * @param contexts A <code>Collection</code> of Bundle Contexts for bundles
-	 *        which have listeners to which the specified event will be
-	 *        delivered. The implementation of this method may remove bundle
-	 *        contexts from the collection to prevent the event from being
-	 *        delivered to the associated bundles. The collection supports all
-	 *        the optional <code>Collection</code> operations except
-	 *        <code>add</code> and <code>addAll</code>. Attempting to add to the
-	 *        collection will result in an
-	 *        <code>UnsupportedOperationException</code>. The collection is not
-	 *        synchronized.
-	 */
-	void event(ServiceEvent event,
-			Collection/* <? extends BundleContext> */contexts);
-}
diff --git a/framework/src/main/java/org/osgi/framework/hooks/service/FindHook.java b/framework/src/main/java/org/osgi/framework/hooks/service/FindHook.java
deleted file mode 100644
index af6ac84..0000000
--- a/framework/src/main/java/org/osgi/framework/hooks/service/FindHook.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) OSGi Alliance (2008 2009). 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.hooks.service;
-
-import java.util.Collection;
-
-import org.osgi.framework.BundleContext;
-
-/**
- * OSGi Framework Service Find Hook Service.
- * 
- * <p>
- * Bundles registering this service will be called during framework service find
- * (get service references) operations.
- * 
- * @ThreadSafe
- * @version $Revision: 6211 $
- */
-
-public interface FindHook {
-	/**
-	 * Find hook method. This method is called during the service find operation
-	 * (for example, {@link BundleContext#getServiceReferences(String, String)}
-	 * ). This method can filter the result of the find operation.
-	 * 
-	 * @param context The bundle context of the bundle performing the find
-	 *        operation.
-	 * @param name The class name of the services to find or <code>null</code>
-	 *        to find all services.
-	 * @param filter The filter criteria of the services to find or
-	 *        <code>null</code> for no filter criteria.
-	 * @param allServices <code>true</code> if the find operation is the result
-	 *        of a call to
-	 *        {@link BundleContext#getAllServiceReferences(String, String)}
-	 * @param references A <code>Collection</code> of Service References to be
-	 *        returned as a result of the find operation. The implementation of
-	 *        this method may remove service references from the collection to
-	 *        prevent the references from being returned to the bundle
-	 *        performing the find operation. The collection supports all the
-	 *        optional <code>Collection</code> operations except
-	 *        <code>add</code> and <code>addAll</code>. Attempting to add to the
-	 *        collection will result in an
-	 *        <code>UnsupportedOperationException</code>. The collection is not
-	 *        synchronized.
-	 */
-	void find(BundleContext context, String name, String filter,
-			boolean allServices,
-			Collection/* <? extends ServiceReference> */references);
-}
diff --git a/framework/src/main/java/org/osgi/framework/hooks/service/ListenerHook.java b/framework/src/main/java/org/osgi/framework/hooks/service/ListenerHook.java
deleted file mode 100644
index cbda320..0000000
--- a/framework/src/main/java/org/osgi/framework/hooks/service/ListenerHook.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Copyright (c) OSGi Alliance (2008, 2009). 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.hooks.service;
-
-import java.util.Collection;
-
-import org.osgi.framework.BundleContext;
-
-/**
- * OSGi Framework Service Listener Hook Service.
- * 
- * <p>
- * Bundles registering this service will be called during service listener
- * addition and removal.
- * 
- * @ThreadSafe
- * @version $Revision: 6405 $
- */
-
-public interface ListenerHook {
-	/**
-	 * Added listeners hook method. This method is called to provide the hook
-	 * implementation with information on newly added service listeners. This
-	 * method will be called as service listeners are added while this hook is
-	 * registered. Also, immediately after registration of this hook, this
-	 * method will be called to provide the current collection of service
-	 * listeners which had been added prior to the hook being registered.
-	 * 
-	 * @param listeners A collection of {@link ListenerInfo}s for newly added
-	 *        service listeners which are now listening to service events.
-	 *        Attempting to add to or remove from the collection will result in
-	 *        an <code>UnsupportedOperationException</code>. The collection is
-	 *        not synchronized.
-	 */
-	void added(Collection/* <? extends ListenerInfo> */listeners);
-
-	/**
-	 * Removed listeners hook method. This method is called to provide the hook
-	 * implementation with information on newly removed service listeners. This
-	 * method will be called as service listeners are removed while this hook is
-	 * registered.
-	 * 
-	 * @param listeners A collection of {@link ListenerInfo}s for newly removed
-	 *        service listeners which are no longer listening to service events.
-	 *        Attempting to add to or remove from the collection will result in
-	 *        an <code>UnsupportedOperationException</code>. The collection is
-	 *        not synchronized.
-	 */
-	void removed(Collection/* <? extends ListenerInfo> */listeners);
-
-	/**
-	 * Information about a Service Listener. This interface describes the bundle
-	 * which added the Service Listener and the filter with which it was added.
-	 * 
-	 * @ThreadSafe
-	 */
-	public interface ListenerInfo {
-		/**
-		 * Return the context of the bundle which added the listener.
-		 * 
-		 * @return The context of the bundle which added the listener.
-		 */
-		BundleContext getBundleContext();
-
-		/**
-		 * Return the filter string with which the listener was added.
-		 * 
-		 * @return The filter string with which the listener was added. This may
-		 *         be <code>null</code> if the listener was added without a
-		 *         filter.
-		 */
-		String getFilter();
-
-		/**
-		 * Return the state of the listener for this addition and removal life
-		 * cycle. Initially this method will return <code>false</code>
-		 * indicating the listener has been added but has not been removed.
-		 * After the listener has been removed, this method must always return
-		 * <code>true</code>.
-		 * 
-		 * <p>
-		 * There is an extremely rare case in which removed notification to
-		 * {@link ListenerHook}s can be made before added notification if two
-		 * threads are racing to add and remove the same service listener.
-		 * Because {@link ListenerHook}s are called synchronously during service
-		 * listener addition and removal, the Framework cannot guarantee
-		 * in-order delivery of added and removed notification for a given
-		 * service listener. This method can be used to detect this rare
-		 * occurrence.
-		 * 
-		 * @return <code>false</code> if the listener has not been been removed,
-		 *         <code>true</code> otherwise.
-		 */
-		boolean isRemoved();
-
-		/**
-		 * Compares this <code>ListenerInfo</code> to another
-		 * <code>ListenerInfo</code>. Two <code>ListenerInfo</code>s are equals
-		 * if they refer to the same listener for a given addition and removal
-		 * life cycle. If the same listener is added again, it must have a
-		 * different <code>ListenerInfo</code> which is not equal to this
-		 * <code>ListenerInfo</code>.
-		 * 
-		 * @param obj The object to compare against this
-		 *        <code>ListenerInfo</code>.
-		 * @return <code>true</code> if the other object is a
-		 *         <code>ListenerInfo</code> object and both objects refer to
-		 *         the same listener for a given addition and removal life
-		 *         cycle.
-		 */
-		boolean equals(Object obj);
-
-		/**
-		 * Returns the hash code for this <code>ListenerInfo</code>.
-		 * 
-		 * @return The hash code of this <code>ListenerInfo</code>.
-		 */
-		int hashCode();
-	}
-}
diff --git a/framework/src/main/java/org/osgi/framework/hooks/service/package.html b/framework/src/main/java/org/osgi/framework/hooks/service/package.html
deleted file mode 100644
index 46d18ac..0000000
--- a/framework/src/main/java/org/osgi/framework/hooks/service/package.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!-- $Revision: 6211 $ -->
-<BODY>
-<p>Framework Service Hooks Package Version 1.0.
-<p>Bundles wishing to use this package must list the package
-in the Import-Package header of the bundle's manifest.
-For example:
-<pre>
-Import-Package: org.osgi.framework.hooks.service;version=&quot;[1.0,2.0)&quot;
-</pre>
-</BODY>
-
diff --git a/framework/src/main/java/org/osgi/framework/hooks/service/packageinfo b/framework/src/main/java/org/osgi/framework/hooks/service/packageinfo
deleted file mode 100644
index 7c8de03..0000000
--- a/framework/src/main/java/org/osgi/framework/hooks/service/packageinfo
+++ /dev/null
@@ -1 +0,0 @@
-version 1.0
diff --git a/framework/src/main/java/org/osgi/framework/launch/Framework.java b/framework/src/main/java/org/osgi/framework/launch/Framework.java
deleted file mode 100644
index f7618aa..0000000
--- a/framework/src/main/java/org/osgi/framework/launch/Framework.java
+++ /dev/null
@@ -1,308 +0,0 @@
-/*
- * Copyright (c) OSGi Alliance (2008, 2009). 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.launch;
-
-import java.io.InputStream;
-
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleException;
-import org.osgi.framework.Constants;
-import org.osgi.framework.FrameworkEvent;
-
-/**
- * A Framework instance. A Framework is also known as a System Bundle.
- * 
- * <p>
- * Framework instances are created using a {@link FrameworkFactory}. The methods
- * of this interface can be used to manage and control the created framework
- * instance.
- * 
- * @ThreadSafe
- * @version $Revision: 6542 $
- */
-public interface Framework extends Bundle {
-
-	/**
-	 * Initialize this Framework. After calling this method, this Framework
-	 * must:
-	 * <ul>
-	 * <li>Be in the {@link #STARTING} state.</li>
-	 * <li>Have a valid Bundle Context.</li>
-	 * <li>Be at start level 0.</li>
-	 * <li>Have event handling enabled.</li>
-	 * <li>Have reified Bundle objects for all installed bundles.</li>
-	 * <li>Have registered any framework services. For example,
-	 * <code>PackageAdmin</code>, <code>ConditionalPermissionAdmin</code>,
-	 * <code>StartLevel</code>.</li>
-	 * </ul>
-	 * 
-	 * <p>
-	 * This Framework will not actually be started until {@link #start() start}
-	 * is called.
-	 * 
-	 * <p>
-	 * This method does nothing if called when this Framework is in the
-	 * {@link #STARTING}, {@link #ACTIVE} or {@link #STOPPING} states.
-	 * 
-	 * @throws BundleException If this Framework could not be initialized.
-	 * @throws SecurityException If the Java Runtime Environment supports
-	 *         permissions and the caller does not have the appropriate
-	 *         <code>AdminPermission[this,EXECUTE]</code> or if there is a
-	 *         security manager already installed and the
-	 *         {@link Constants#FRAMEWORK_SECURITY} configuration property is
-	 *         set.
-	 * 
-	 */
-	void init() throws BundleException;
-
-	/**
-	 * Wait until this Framework has completely stopped. The <code>stop</code>
-	 * and <code>update</code> methods on a Framework performs an asynchronous
-	 * stop of the Framework. This method can be used to wait until the
-	 * asynchronous stop of this Framework has completed. This method will only
-	 * wait if called when this Framework is in the {@link #STARTING},
-	 * {@link #ACTIVE}, or {@link #STOPPING} states. Otherwise it will return
-	 * immediately.
-	 * <p>
-	 * A Framework Event is returned to indicate why this Framework has stopped.
-	 * 
-	 * @param timeout Maximum number of milliseconds to wait until this
-	 *        Framework has completely stopped. A value of zero will wait
-	 *        indefinitely.
-	 * @return A Framework Event indicating the reason this method returned. The
-	 *         following <code>FrameworkEvent</code> types may be returned by
-	 *         this method.
-	 *         <ul>
-	 *         <li>{@link FrameworkEvent#STOPPED STOPPED} - This Framework has
-	 *         been stopped. </li>
-	 * 
-	 *         <li>{@link FrameworkEvent#STOPPED_UPDATE STOPPED_UPDATE} - This
-	 *         Framework has been updated which has shutdown and will now
-	 *         restart.</li>
-	 * 
-	 *         <li> {@link FrameworkEvent#STOPPED_BOOTCLASSPATH_MODIFIED
-	 *         STOPPED_BOOTCLASSPATH_MODIFIED} - This Framework has been stopped
-	 *         and a bootclasspath extension bundle has been installed or
-	 *         updated. The VM must be restarted in order for the changed boot
-	 *         class path to take affect. </li>
-	 * 
-	 *         <li>{@link FrameworkEvent#ERROR ERROR} - The Framework
-	 *         encountered an error while shutting down or an error has occurred
-	 *         which forced the framework to shutdown. </li>
-	 * 
-	 *         <li> {@link FrameworkEvent#WAIT_TIMEDOUT WAIT_TIMEDOUT} - This
-	 *         method has timed out and returned before this Framework has
-	 *         stopped.</li>
-	 *         </ul>
-	 * @throws InterruptedException If another thread interrupted the current
-	 *         thread before or while the current thread was waiting for this
-	 *         Framework to completely stop. The <i>interrupted status</i> of
-	 *         the current thread is cleared when this exception is thrown.
-	 * @throws IllegalArgumentException If the value of timeout is negative.
-	 */
-	FrameworkEvent waitForStop(long timeout) throws InterruptedException;
-
-	/**
-	 * Start this Framework.
-	 * 
-	 * <p>
-	 * The following steps are taken to start this Framework:
-	 * <ol>
-	 * <li>If this Framework is not in the {@link #STARTING} state,
-	 * {@link #init() initialize} this Framework.</li>
-	 * <li>All installed bundles must be started in accordance with each
-	 * bundle's persistent <i>autostart setting</i>. This means some bundles
-	 * will not be started, some will be started with <i>eager activation</i>
-	 * and some will be started with their <i>declared activation</i> policy. If
-	 * this Framework implements the optional <i>Start Level Service
-	 * Specification</i>, then the start level of this Framework is moved to the
-	 * start level specified by the
-	 * {@link Constants#FRAMEWORK_BEGINNING_STARTLEVEL beginning start level}
-	 * framework property, as described in the <i>Start Level Service
-	 * Specification</i>. If this framework property is not specified, then the
-	 * start level of this Framework is moved to start level one (1). Any
-	 * exceptions that occur during bundle starting must be wrapped in a
-	 * {@link BundleException} and then published as a framework event of type
-	 * {@link FrameworkEvent#ERROR}</li>
-	 * <li>This Framework's state is set to {@link #ACTIVE}.</li>
-	 * <li>A framework event of type {@link FrameworkEvent#STARTED} is fired</li>
-	 * </ol>
-	 * 
-	 * @throws BundleException If this Framework could not be started.
-	 * @throws SecurityException If the caller does not have the appropriate
-	 *         <code>AdminPermission[this,EXECUTE]</code>, and the Java Runtime
-	 *         Environment supports permissions.
-	 * @see "Start Level Service Specification"
-	 */
-	void start() throws BundleException;
-
-	/**
-	 * Start this Framework.
-	 * 
-	 * <p>
-	 * Calling this method is the same as calling {@link #start()}. There are no
-	 * start options for the Framework.
-	 * 
-	 * @param options Ignored. There are no start options for the Framework.
-	 * @throws BundleException If this Framework could not be started.
-	 * @throws SecurityException If the caller does not have the appropriate
-	 *         <code>AdminPermission[this,EXECUTE]</code>, and the Java Runtime
-	 *         Environment supports permissions.
-	 * @see #start()
-	 */
-	void start(int options) throws BundleException;
-
-	/**
-	 * Stop this Framework.
-	 * 
-	 * <p>
-	 * The method returns immediately to the caller after initiating the
-	 * following steps to be taken on another thread.
-	 * <ol>
-	 * <li>This Framework's state is set to {@link #STOPPING}.</li>
-	 * <li>All installed bundles must be stopped without changing each bundle's
-	 * persistent <i>autostart setting</i>. If this Framework implements the
-	 * optional <i>Start Level Service Specification</i>, then the start level
-	 * of this Framework is moved to start level zero (0), as described in the
-	 * <i>Start Level Service Specification</i>. Any exceptions that occur
-	 * during bundle stopping must be wrapped in a {@link BundleException} and
-	 * then published as a framework event of type {@link FrameworkEvent#ERROR}</li>
-	 * <li>Unregister all services registered by this Framework.</li>
-	 * <li>Event handling is disabled.</li>
-	 * <li>This Framework's state is set to {@link #RESOLVED}.</li>
-	 * <li>All resources held by this Framework are released. This includes
-	 * threads, bundle class loaders, open files, etc.</li>
-	 * <li>Notify all threads that are waiting at {@link #waitForStop(long)
-	 * waitForStop} that the stop operation has completed.</li>
-	 * </ol>
-	 * <p>
-	 * After being stopped, this Framework may be discarded, initialized or
-	 * started.
-	 * 
-	 * @throws BundleException If stopping this Framework could not be
-	 *         initiated.
-	 * @throws SecurityException If the caller does not have the appropriate
-	 *         <code>AdminPermission[this,EXECUTE]</code>, and the Java Runtime
-	 *         Environment supports permissions.
-	 * @see "Start Level Service Specification"
-	 */
-	void stop() throws BundleException;
-
-	/**
-	 * Stop this Framework.
-	 * 
-	 * <p>
-	 * Calling this method is the same as calling {@link #stop()}. There are no
-	 * stop options for the Framework.
-	 * 
-	 * @param options Ignored. There are no stop options for the Framework.
-	 * @throws BundleException If stopping this Framework could not be
-	 *         initiated.
-	 * @throws SecurityException If the caller does not have the appropriate
-	 *         <code>AdminPermission[this,EXECUTE]</code>, and the Java Runtime
-	 *         Environment supports permissions.
-	 * @see #stop()
-	 */
-	void stop(int options) throws BundleException;
-
-	/**
-	 * The Framework cannot be uninstalled.
-	 * 
-	 * <p>
-	 * This method always throws a BundleException.
-	 * 
-	 * @throws BundleException This Framework cannot be uninstalled.
-	 * @throws SecurityException If the caller does not have the appropriate
-	 *         <code>AdminPermission[this,LIFECYCLE]</code>, and the Java
-	 *         Runtime Environment supports permissions.
-	 */
-	void uninstall() throws BundleException;
-
-	/**
-	 * Stop and restart this Framework.
-	 * 
-	 * <p>
-	 * The method returns immediately to the caller after initiating the
-	 * following steps to be taken on another thread.
-	 * <ol>
-	 * <li>Perform the steps in the {@link #stop()} method to stop this
-	 * Framework.</li>
-	 * <li>Perform the steps in the {@link #start()} method to start this
-	 * Framework.</li>
-	 * </ol>
-	 * 
-	 * @throws BundleException If stopping and restarting this Framework could
-	 *         not be initiated.
-	 * @throws SecurityException If the caller does not have the appropriate
-	 *         <code>AdminPermission[this,LIFECYCLE]</code>, and the Java
-	 *         Runtime Environment supports permissions.
-	 */
-	void update() throws BundleException;
-
-	/**
-	 * Stop and restart this Framework.
-	 * 
-	 * <p>
-	 * Calling this method is the same as calling {@link #update()} except that
-	 * any provided InputStream is immediately closed.
-	 * 
-	 * @param in Any provided InputStream is immediately closed before returning
-	 *        from this method and otherwise ignored.
-	 * @throws BundleException If stopping and restarting this Framework could
-	 *         not be initiated.
-	 * @throws SecurityException If the caller does not have the appropriate
-	 *         <code>AdminPermission[this,LIFECYCLE]</code>, and the Java
-	 *         Runtime Environment supports permissions.
-	 */
-	void update(InputStream in) throws BundleException;
-
-	/**
-	 * Returns the Framework unique identifier. This Framework is assigned the
-	 * unique identifier zero (0) since this Framework is also a System Bundle.
-	 * 
-	 * @return 0.
-	 * @see Bundle#getBundleId()
-	 */
-	long getBundleId();
-
-	/**
-	 * Returns the Framework location identifier. This Framework is assigned the
-	 * unique location &quot;<code>System Bundle</code>&quot; since this
-	 * Framework is also a System Bundle.
-	 * 
-	 * @return The string &quot;<code>System Bundle</code>&quot;.
-	 * @throws SecurityException If the caller does not have the appropriate
-	 *         <code>AdminPermission[this,METADATA]</code>, and the Java Runtime
-	 *         Environment supports permissions.
-	 * @see Bundle#getLocation()
-	 * @see Constants#SYSTEM_BUNDLE_LOCATION
-	 */
-	String getLocation();
-
-	/**
-	 * Returns the symbolic name of this Framework. The symbolic name is unique
-	 * for the implementation of the framework. However, the symbolic name
-	 * &quot;<code>system.bundle</code>&quot; must be recognized as an alias to
-	 * the implementation-defined symbolic name since this Framework is also a
-	 * System Bundle.
-	 * 
-	 * @return The symbolic name of this Framework.
-	 * @see Bundle#getSymbolicName()
-	 * @see Constants#SYSTEM_BUNDLE_SYMBOLICNAME
-	 */
-	String getSymbolicName();
-}
diff --git a/framework/src/main/java/org/osgi/framework/launch/FrameworkFactory.java b/framework/src/main/java/org/osgi/framework/launch/FrameworkFactory.java
deleted file mode 100644
index 7e96ede..0000000
--- a/framework/src/main/java/org/osgi/framework/launch/FrameworkFactory.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) OSGi Alliance (2009). 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.launch;
-
-import java.util.Map;
-
-import org.osgi.framework.Bundle;
-
-/**
- * A factory for creating {@link Framework} instances.
- * 
- * <p>
- * A framework implementation jar must contain the following resource:
- * 
- * <pre>
- * /META-INF/services/org.osgi.framework.launch.FrameworkFactory
- * </pre>
- * 
- * This UTF-8 encoded resource must contain the name of the framework
- * implementation's FrameworkFactory implementation class. Space and tab
- * characters, including blank lines, in the resource must be ignored. The
- * number sign ('#' \u0023) and all characters following it on each line are a
- * comment and must be ignored.
- * 
- * <p>
- * Launchers can find the name of the FrameworkFactory implementation class in
- * the resource and then load and construct a FrameworkFactory object for the
- * framework implementation. The FrameworkFactory implementation class must have
- * a public, no-argument constructor. Java&#8482; SE 6 introduced the
- * <code>ServiceLoader</code> class which can create a FrameworkFactory instance
- * from the resource.
- * 
- * @ThreadSafe
- * @version $Revision: 6397 $
- */
-public interface FrameworkFactory {
-
-	/**
-	 * Create a new {@link Framework} instance.
-	 * 
-	 * @param configuration The framework properties to configure the new
-	 *        framework instance. If framework properties are not provided by
-	 *        the configuration argument, the created framework instance must
-	 *        use some reasonable default configuration appropriate for the
-	 *        current VM. For example, the system packages for the current
-	 *        execution environment should be properly exported. The specified
-	 *        configuration argument may be <code>null</code>. The created
-	 *        framework instance must copy any information needed from the
-	 *        specified configuration argument since the configuration argument
-	 *        can be changed after the framework instance has been created.
-	 * @return A new, configured {@link Framework} instance. The framework
-	 *         instance must be in the {@link Bundle#INSTALLED} state.
-	 * @throws SecurityException If the caller does not have
-	 *         <code>AllPermission</code>, and the Java Runtime Environment
-	 *         supports permissions.
-	 */
-	Framework newFramework(Map configuration);
-}
diff --git a/framework/src/main/java/org/osgi/framework/launch/package.html b/framework/src/main/java/org/osgi/framework/launch/package.html
deleted file mode 100644
index 6b0407b..0000000
--- a/framework/src/main/java/org/osgi/framework/launch/package.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!-- $Revision: 6204 $ -->
-<BODY>
-<p>Framework Launch Package Version 1.0.
-<p>Bundles wishing to use this package must list the package
-in the Import-Package header of the bundle's manifest.
-For example:
-<pre>
-Import-Package: org.osgi.framework.launch;version=&quot;[1.0,2.0)&quot;
-</pre>
-</BODY>
-
diff --git a/framework/src/main/java/org/osgi/framework/launch/packageinfo b/framework/src/main/java/org/osgi/framework/launch/packageinfo
deleted file mode 100644
index 7c8de03..0000000
--- a/framework/src/main/java/org/osgi/framework/launch/packageinfo
+++ /dev/null
@@ -1 +0,0 @@
-version 1.0