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

org.osgi.framework.wiring.BundleRevisions Maven / Gradle / Ivy

Go to download

AspectJ tools most notably contains the AspectJ compiler (AJC). AJC applies aspects to Java classes during compilation, fully replacing Javac for plain Java classes and also compiling native AspectJ or annotation-based @AspectJ syntax. Furthermore, AJC can weave aspects into existing class files in a post-compile binary weaving step. This library is a superset of AspectJ weaver and hence also of AspectJ runtime.

There is a newer version: 1.9.22.1
Show newest version
/*
 * Copyright (c) OSGi Alliance (2011, 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.framework.wiring;

import java.util.List;
import org.osgi.annotation.versioning.ProviderType;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleReference;

/**
 * The {@link BundleRevision bundle revisions} of a bundle. When a bundle is
 * installed and each time a bundle is updated, a new bundle revision of the
 * bundle is created. For a bundle that has not been uninstalled, the most
 * recent bundle revision is defined to be the current bundle revision. A bundle
 * in the UNINSTALLED state does not have a current revision. An in use bundle
 * revision is associated with an {@link BundleWiring#isInUse() in use}
 * {@link BundleWiring}. The current bundle revision, if there is one, and all
 * in use bundle revisions are returned.
 * 
 * 

* The bundle revisions for a bundle can be obtained by calling * {@link Bundle#adapt(Class) bundle.adapt}({@link BundleRevisions}.class). * {@link #getRevisions()} on the bundle. * * @ThreadSafe * @author $Id: 83e7bf03af2150a54af13a319325856e532cefde $ */ @ProviderType public interface BundleRevisions extends BundleReference { /** * Return the bundle revisions for the {@link BundleReference#getBundle() * referenced} bundle. * *

* The result is a list containing the current bundle revision, if there is * one, and all in use bundle revisions. The list may also contain * intermediate bundle revisions which are not in use. * *

* The list is ordered in reverse chronological order such that the first * item is the most recent bundle revision and last item is the oldest * bundle revision. * *

* Generally the list will have at least one bundle revision for the bundle: * the current bundle revision. However, for an uninstalled bundle with no * in use bundle revisions, the list may be empty. * * @return A list containing a snapshot of the {@link BundleRevision}s for * the referenced bundle. */ List getRevisions(); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy