org.eclipse.osgi.framework.adaptor
Interface PermissionStorage

All Known Implementing Classes:
SecurePermissionStorage

public interface PermissionStorage

Permission Storage interface for managing a persistent storage of bundle permissions.

This class is used to provide methods to manage persistent storage of bundle permissions. The PermissionStorage object is returned by the FrameworkAdaptor object and is called to persistently store bundle permissions.

The permission data will typically take the form of encoded PermissionInfo Strings. See org.osgi.service.permissionadmin.PermissionInfo.

For example

      PermissionStorage storage = adaptor.getPermissionStorage();
      try {
          storage.setPermissionData(location, permissions);
      } catch (IOException e) {
          // Take some error action.
      }
 

Clients may implement this interface.

Since:
3.1

Method Summary
 java.lang.String[] getConditionalPermissionInfos()
          Returns the persistent array of encoded ConditionalPermissionInfo strings
 java.lang.String[] getLocations()
          Returns the locations that have permission data assigned to them, that is, locations for which permission data exists in persistent storage.
 java.lang.String[] getPermissionData(java.lang.String location)
          Gets the permission data assigned to the specified location.
 void saveConditionalPermissionInfos(java.lang.String[] infos)
          Persists the array of encoded ConditionalPermissionInfo strings
 void setPermissionData(java.lang.String location, java.lang.String[] data)
          Assigns the specified permission data to the specified location.
 

Method Detail

getLocations

java.lang.String[] getLocations()
                                throws java.io.IOException
Returns the locations that have permission data assigned to them, that is, locations for which permission data exists in persistent storage.

Returns:
The locations that have permission data in persistent storage, or null if there is no permission data in persistent storage.
Throws:
java.io.IOException - If a failure occurs accessing persistent storage.

getPermissionData

java.lang.String[] getPermissionData(java.lang.String location)
                                     throws java.io.IOException
Gets the permission data assigned to the specified location.

Parameters:
location - The location whose permission data is to be returned. The location can be null for the default permission data.
Returns:
The permission data assigned to the specified location, or null if that location has not been assigned any permission data.
Throws:
java.io.IOException - If a failure occurs accessing persistent storage.

setPermissionData

void setPermissionData(java.lang.String location,
                       java.lang.String[] data)
                       throws java.io.IOException
Assigns the specified permission data to the specified location.

Parameters:
location - The location that will be assigned the permissions. The location can be null for the default permission data.
data - The permission data to be assigned, or null if the specified location is to be removed from persistent storaqe.
Throws:
java.io.IOException - If a failure occurs modifying persistent storage.

saveConditionalPermissionInfos

void saveConditionalPermissionInfos(java.lang.String[] infos)
                                    throws java.io.IOException
Persists the array of encoded ConditionalPermissionInfo strings

Parameters:
infos - an array of encoded ConditionalPermissionInfo strings
Throws:
java.io.IOException - If a failure occurs modifying persistent storage.
Since:
3.2

getConditionalPermissionInfos

java.lang.String[] getConditionalPermissionInfos()
                                                 throws java.io.IOException
Returns the persistent array of encoded ConditionalPermissionInfo strings

Returns:
an array of encoded ConditionalPermissionInfo strings or null if none exist in persistent storage.
Throws:
java.io.IOException - If a failure occurs accessing persistent storage.
Since:
3.2