All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.osgi.application.Framework Maven / Gradle / Ivy

/*
 * Copyright (c) OSGi Alliance (2005, 2013). 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.application;

import java.util.Hashtable;

/**
 * Using this class, OSGi-aware applications can obtain their
 * {@link ApplicationContext}.
 * 
 * @author $Id: 9708de2b1acfd6d618b1df0aebbc7b88441dca1c $
 */
public final class Framework {

	private Framework() {
	}

	private static Hashtable	appContextHash;

	/**
	 * This method needs an argument, an object that represents the application
	 * instance. An application consists of a set of object, however there is a
	 * single object, which is used by the corresponding application container
	 * to manage the lifecycle on the application instance. The lifetime of this
	 * object equals the lifetime of the application instance; therefore, it is
	 * suitable to represent the instance.
	 * 

* The returned {@link ApplicationContext} object is singleton for the * specified application instance. Subsequent calls to this method with the * same application instance must return the same context object * * @param applicationInstance is the activator object of an application * instance * @throws java.lang.NullPointerException If {@code applicationInstance} is * {@code null} * @throws java.lang.IllegalArgumentException if called with an object that * is not the activator object of an application. * @return the {@link ApplicationContext} of the specified application * instance. */ public static ApplicationContext getApplicationContext(Object applicationInstance) { if (applicationInstance == null) throw new NullPointerException("Instance cannot be null!"); ApplicationContext appContext = (ApplicationContext) appContextHash.get(applicationInstance); if (appContext == null) throw new IllegalArgumentException("ApplicationContext not found!"); return appContext; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy