blob: 85e8fca07e6b2be0de564d5f3e6e5d52232a1c3f [file] [log] [blame]
/*
* Copyright 2005 The Apache Software Foundation
*
* 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.apache.felix.jmood.core;
import java.io.IOException;
import java.net.MalformedURLException;
import org.osgi.framework.BundleException;
/**
* The CoreController mbean provides mechanisms to exert control over the
* framework. For many operations, it provides a batch mechanism to avoid
* excessive message passing when interacting remotely.
*
*/
public interface CoreControllerMBean {
public abstract void startBundle(String bundleSymbolicName)
throws BundleException, BundleNotAvailableException;
public abstract void batchStartBundles(String[] bundleSymbolicNames)
throws BundleException, BundleNotAvailableException;
public abstract void stopBundle(String bundleSymbolicName)
throws BundleException, BundleNotAvailableException;
public abstract void batchStopBundles(String[] bundleSymbolicNames)
throws BundleException, BundleNotAvailableException;
public abstract void updateBundle(String bundleSymbolicName)
throws BundleException, BundleNotAvailableException;
public abstract void uninstallBundle(String bundleSymbolicName)
throws BundleNotAvailableException, BundleException;
public abstract void batchUpdateBundles(String[] bundleSymbolicNames)
throws BundleException, BundleNotAvailableException;
public abstract void updateBundleFromUrl(String bundleSymbolicName,
String url) throws BundleException, BundleNotAvailableException,
MalformedURLException, IOException;
public abstract void batchUpdateBundleFromUrl(String[] bundleSymbolicNames,
String[] urls) throws BundleException, BundleNotAvailableException,
MalformedURLException, IOException;
public abstract void installBundle(String bundleLocation)
throws BundleException;
public abstract void batchInstallBundle(String[] bundleLocations)
throws BundleException;
public abstract void setBundleStartLevel(String bundleSymbolicName,
int newlevel) throws BundleNotAvailableException,
ServiceNotAvailableException;
public abstract void batchSetBundleStartLevel(String[] bundleSymbolicNames,
int[] newlevels);
public abstract void refreshPackages(String[] bundleSymbolicNames)
throws BundleNotAvailableException, ServiceNotAvailableException;
public abstract void resolveBundles(String[] bundleSymbolicNames)
throws BundleNotAvailableException, ServiceNotAvailableException;
public abstract void setPlatformStartLevel(int newlevel) throws ServiceNotAvailableException;
public abstract int getPlatformStartLevel() throws ServiceNotAvailableException;
/**
*
* @param newlevel
* @throws ServiceNotAvailableException if StartLevel service not available, or RuntimeMBeanException that wraps an IllegalArgumentException, as specified
* by the Start Level service.
*/
public abstract void setInitialBundleStartLevel(int newlevel) throws ServiceNotAvailableException;
public abstract int getInitialBundleStartLevel() throws ServiceNotAvailableException;
public abstract void restartFramework() throws NotImplementedException;
public abstract void shutdownFramework() throws NotImplementedException;
public abstract void updateFramework() throws NotImplementedException;
}