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

org.osgi.service.packageadmin.RequiredBundle Maven / Gradle / Ivy

There is a newer version: 7.0.5
Show newest version
/*
 * 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.service.packageadmin;

import org.osgi.framework.Bundle;
import org.osgi.framework.Version;

/**
 * A required bundle.
 * 
 * Objects implementing this interface are created by the Package Admin service.
 * 
 * 

* The term required bundle refers to a resolved bundle that has a * bundle symbolic name and is not a fragment. That is, a bundle that may be * required by other bundles. This bundle may or may not be currently required * by other bundles. * *

* The information about a required bundle provided by this object may change. A * RequiredBundle object becomes stale if an exported package of * the bundle it references has been updated or removed as a result of calling * PackageAdmin.refreshPackages()). * * If this object becomes stale, its getSymbolicName() and * getVersion() methods continue to return their original values, * isRemovalPending() returns true, and getBundle() * and getRequiringBundles() return null. * * @since 1.2 * @ThreadSafe * @version $Revision: 5673 $ */ public interface RequiredBundle { /** * Returns the symbolic name of this required bundle. * * @return The symbolic name of this required bundle. */ public String getSymbolicName(); /** * Returns the bundle associated with this required bundle. * * @return The bundle, or null if this * RequiredBundle object has become stale. */ public Bundle getBundle(); /** * Returns the bundles that currently require this required bundle. * *

* If this required bundle is required and then re-exported by another * bundle then all the requiring bundles of the re-exporting bundle are * included in the returned array. * * @return An array of bundles currently requiring this required bundle, or * null if this RequiredBundle object * has become stale. The array will be empty if no bundles require * this required package. */ public Bundle[] getRequiringBundles(); /** * Returns the version of this required bundle. * * @return The version of this required bundle, or * {@link Version#emptyVersion} if no version information is * available. */ public Version getVersion(); /** * Returns true if the bundle associated with this * RequiredBundle object has been updated or uninstalled. * * @return true if the required bundle has been updated or * uninstalled, or if the RequiredBundle object has * become stale; false otherwise. */ public boolean isRemovalPending(); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy