org.eclipse.osgi.internal.permadmin
Class SecurePermissionStorage

java.lang.Object
  extended by org.eclipse.osgi.internal.permadmin.SecurePermissionStorage
All Implemented Interfaces:
PrivilegedExceptionAction<String[]>, PermissionStorage

public class SecurePermissionStorage
extends Object
implements PermissionStorage, PrivilegedExceptionAction<String[]>

PermissionStorage privileged action class. This class is not thread safe. Callers must ensure multiple threads do not call methods on this class at the same time.


Constructor Summary
SecurePermissionStorage(PermissionStorage storage)
           
 
Method Summary
 String[] getConditionalPermissionInfos()
          Returns the persistent array of encoded ConditionalPermissionInfo strings
 String[] getLocations()
          Returns the locations that have permission data assigned to them, that is, locations for which permission data exists in persistent storage.
 String[] getPermissionData(String loc)
          Gets the permission data assigned to the specified location.
 String[] run()
           
 void saveConditionalPermissionInfos(String[] updatedInfos)
          Persists the array of encoded ConditionalPermissionInfo strings
 void setPermissionData(String location, String[] data)
          Assigns the specified permission data to the specified location.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SecurePermissionStorage

public SecurePermissionStorage(PermissionStorage storage)
Method Detail

run

public String[] run()
             throws IOException
Specified by:
run in interface PrivilegedExceptionAction<String[]>
Throws:
IOException

getPermissionData

public String[] getPermissionData(String loc)
                           throws IOException
Description copied from interface: PermissionStorage
Gets the permission data assigned to the specified location.

Specified by:
getPermissionData in interface PermissionStorage
Parameters:
loc - 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:
IOException - If a failure occurs accessing persistent storage.

getLocations

public String[] getLocations()
                      throws IOException
Description copied from interface: PermissionStorage
Returns the locations that have permission data assigned to them, that is, locations for which permission data exists in persistent storage.

Specified by:
getLocations in interface PermissionStorage
Returns:
The locations that have permission data in persistent storage, or null if there is no permission data in persistent storage.
Throws:
IOException - If a failure occurs accessing persistent storage.

setPermissionData

public void setPermissionData(String location,
                              String[] data)
                       throws IOException
Description copied from interface: PermissionStorage
Assigns the specified permission data to the specified location.

Specified by:
setPermissionData in interface PermissionStorage
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:
IOException - If a failure occurs modifying persistent storage.

saveConditionalPermissionInfos

public void saveConditionalPermissionInfos(String[] updatedInfos)
                                    throws IOException
Description copied from interface: PermissionStorage
Persists the array of encoded ConditionalPermissionInfo strings

Specified by:
saveConditionalPermissionInfos in interface PermissionStorage
Parameters:
updatedInfos - an array of encoded ConditionalPermissionInfo strings
Throws:
IOException - If a failure occurs modifying persistent storage.

getConditionalPermissionInfos

public String[] getConditionalPermissionInfos()
                                       throws IOException
Description copied from interface: PermissionStorage
Returns the persistent array of encoded ConditionalPermissionInfo strings

Specified by:
getConditionalPermissionInfos in interface PermissionStorage
Returns:
an array of encoded ConditionalPermissionInfo strings or null if none exist in persistent storage.
Throws:
IOException - If a failure occurs accessing persistent storage.


Copyright © 2007–2014 The Apache Software Foundation. All rights reserved.