/* * Copyright (c) OSGi Alliance (2009). 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.jmx.service.permissionadmin; import java.io.IOException; import org.osgi.jmx.JmxConstants; /** * This MBean represents the OSGi Permission Manager Service * * @version $Rev$ */ public interface PermissionAdminMBean { /** * Permission Admin MBean object name. */ String OBJECTNAME = JmxConstants.OSGI_CORE + ":service=permissionadmin,version=1.2"; /** * Answer the bundle locations that have permissions assigned to them * * @return the bundle locations * @throws IOException if the operation fails */ String[] listLocations() throws IOException; /** * Answer the list of encoded permissions of the bundle specified by the * bundle location * * @param location location identifying the bundle * @return the array of String encoded permissions * @throws IOException if the operation fails */ String[] getPermissions(String location) throws IOException; /** * Set the default permissions assigned to bundle locations that have no * assigned permissions * * @param encodedPermissions the string encoded permissions * @throws IOException if the operation fails */ void setDefaultPermissions(String[] encodedPermissions) throws IOException; /** * Answer the list of encoded permissions representing the default * permissions assigned to bundle locations that have no assigned * permissions * * @return the array of String encoded permissions * @throws IOException if the operation fails */ String[] listDefaultPermissions() throws IOException; /** * Set the permissions on the bundle specified by the bundle location * * @param location the location of the bundle * @param encodedPermissions the string encoded permissions to set * @throws IOException if the operation fails */ void setPermissions(String location, String[] encodedPermissions) throws IOException; }