blob: 049334f982d1dfebc7752de3ffe038f966e15fb9 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2008, 2013 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.osgi.launch;
import java.io.*;
import java.net.URL;
import java.security.cert.X509Certificate;
import java.util.*;
import org.eclipse.osgi.internal.framework.EquinoxContainer;
import org.osgi.framework.*;
import org.osgi.framework.launch.Framework;
/**
* The System Bundle implementation for the Equinox Framework.
*
* @since 3.5
*/
public class Equinox implements Framework {
private final Framework systemBundle;
public Equinox(Map<String, ?> configuration) {
EquinoxContainer container = new EquinoxContainer(configuration);
systemBundle = (Framework) container.getStorage().getModuleContainer().getModule(0).getBundle();
}
@Override
public int getState() {
return systemBundle.getState();
}
@Override
public Dictionary<String, String> getHeaders() {
return systemBundle.getHeaders();
}
@Override
public ServiceReference<?>[] getRegisteredServices() {
return systemBundle.getRegisteredServices();
}
@Override
public ServiceReference<?>[] getServicesInUse() {
return systemBundle.getServicesInUse();
}
@Override
public boolean hasPermission(Object permission) {
return systemBundle.hasPermission(permission);
}
@Override
public URL getResource(String name) {
return systemBundle.getResource(name);
}
@Override
public Dictionary<String, String> getHeaders(String locale) {
return systemBundle.getHeaders(locale);
}
@Override
public Class<?> loadClass(String name) throws ClassNotFoundException {
return systemBundle.loadClass(name);
}
@Override
public Enumeration<URL> getResources(String name) throws IOException {
return systemBundle.getResources(name);
}
@Override
public long getLastModified() {
return systemBundle.getLastModified();
}
@Override
public BundleContext getBundleContext() {
return systemBundle.getBundleContext();
}
@Override
public Map<X509Certificate, List<X509Certificate>> getSignerCertificates(int signersType) {
return systemBundle.getSignerCertificates(signersType);
}
@Override
public Version getVersion() {
return systemBundle.getVersion();
}
@Override
public File getDataFile(String filename) {
return systemBundle.getDataFile(filename);
}
@Override
public int compareTo(Bundle o) {
return systemBundle.compareTo(o);
}
@Override
public void start(int options) throws BundleException {
systemBundle.start(options);
}
@Override
public void start() throws BundleException {
systemBundle.start();
}
@Override
public void stop(int options) throws BundleException {
systemBundle.stop(options);
}
@Override
public void stop() throws BundleException {
systemBundle.stop();
}
@Override
public void update(InputStream input) throws BundleException {
systemBundle.update(input);
}
@Override
public void update() throws BundleException {
systemBundle.update();
}
@Override
public void uninstall() throws BundleException {
systemBundle.uninstall();
}
@Override
public long getBundleId() {
return systemBundle.getBundleId();
}
@Override
public String getLocation() {
return systemBundle.getLocation();
}
@Override
public String getSymbolicName() {
return systemBundle.getSymbolicName();
}
@Override
public Enumeration<String> getEntryPaths(String path) {
return systemBundle.getEntryPaths(path);
}
@Override
public URL getEntry(String path) {
return systemBundle.getEntry(path);
}
@Override
public Enumeration<URL> findEntries(String path, String filePattern, boolean recurse) {
return systemBundle.findEntries(path, filePattern, recurse);
}
@Override
public <A> A adapt(Class<A> type) {
return systemBundle.adapt(type);
}
@Override
public void init() throws BundleException {
systemBundle.init();
}
/**
* @since 3.10
*/
@Override
public void init(FrameworkListener... listeners) throws BundleException {
systemBundle.init(listeners);
}
@Override
public FrameworkEvent waitForStop(long timeout) throws InterruptedException {
return systemBundle.waitForStop(timeout);
}
}