Class DeploymentCustomizerPermission
- java.lang.Object
-
- java.security.Permission
-
- org.osgi.service.deploymentadmin.spi.DeploymentCustomizerPermission
-
- All Implemented Interfaces:
java.io.Serializable,java.security.Guard
public class DeploymentCustomizerPermission extends java.security.PermissionTheDeploymentCustomizerPermissionpermission gives the right to Resource Processors to access a bundle's (residing in a Deployment Package) private area. The bundle and the Resource Processor (customizer) have to be in the same Deployment Package.The Resource Processor that has this permission is allowed to access the bundle's private area by calling the
DeploymentSession.getDataFile(Bundle)method during the session (seeDeploymentSession). After the session ends the FilePermissions are withdrawn. The Resource Processor will haveFilePermissionwith "read", "write" and "delete" actions for the returnedFilethat represents the base directory of the persistent storage area and for its subdirectories.The actions string is converted to lowercase before processing.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringPRIVATEAREAConstant String to the "privatearea" action.
-
Constructor Summary
Constructors Constructor Description DeploymentCustomizerPermission(java.lang.String name, java.lang.String actions)Creates a newDeploymentCustomizerPermissionobject for the givennameandaction.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object obj)Checks two DeploymentCustomizerPermission objects for equality.java.lang.StringgetActions()Returns the String representation of the action list.inthashCode()Returns hash code for this permission object.booleanimplies(java.security.Permission permission)Checks if this DeploymentCustomizerPermission would imply the parameter permission.java.security.PermissionCollectionnewPermissionCollection()Returns a new PermissionCollection object for storing DeploymentCustomizerPermission objects.
-
-
-
Field Detail
-
PRIVATEAREA
public static final java.lang.String PRIVATEAREA
Constant String to the "privatearea" action.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DeploymentCustomizerPermission
public DeploymentCustomizerPermission(java.lang.String name, java.lang.String actions)Creates a newDeploymentCustomizerPermissionobject for the givennameandaction.The name parameter is a filter string. This filter has the same syntax as an OSGi filter but only the "name" attribute is allowed. The value of the attribute is a Bundle Symbolic Name that represents a bundle. The only allowed action is the "privatearea" action. E.g.
Permission perm = new DeploymentCustomizerPermission( "(name=com.acme.bundle)", "privatearea");The Resource Processor that has this permission is allowed to access the bundle's private area by calling theDeploymentSession.getDataFile(Bundle)method. The Resource Processor will haveFilePermissionwith "read", "write" and "delete" actions for the returnedFileand its subdirectories during the deployment session.- Parameters:
name- Bundle Symbolic Name of the target bundle, must not benull.actions- action string (only the "privatearea" or "*" action is valid; "*" means all the possible actions), must not benull.- Throws:
java.lang.IllegalArgumentException- if the filter is invalid, the list of actions contains unknown operations or one of the parameters isnull
-
-
Method Detail
-
equals
public boolean equals(java.lang.Object obj)
Checks two DeploymentCustomizerPermission objects for equality. Two permission objects are equal if:- their target filters are equal (semantically and not character by character) and
- their actions are the same
- Specified by:
equalsin classjava.security.Permission- Parameters:
obj- the reference object with which to compare.- Returns:
- true if the two objects are equal.
- See Also:
Object.equals(java.lang.Object)
-
hashCode
public int hashCode()
Returns hash code for this permission object.- Specified by:
hashCodein classjava.security.Permission- Returns:
- Hash code for this permission object.
- See Also:
Object.hashCode()
-
getActions
public java.lang.String getActions()
Returns the String representation of the action list.- Specified by:
getActionsin classjava.security.Permission- Returns:
- Action list of this permission instance. It is always "privatearea".
- See Also:
Permission.getActions()
-
implies
public boolean implies(java.security.Permission permission)
Checks if this DeploymentCustomizerPermission would imply the parameter permission. This permission implies another DeploymentCustomizerPermission permission if:- both of them has the "privatearea" action (other actions are not allowed) and
- their filters (only name attribute is allowed in the filters) match
similarly to
DeploymentAdminPermission.
- Specified by:
impliesin classjava.security.Permission- Parameters:
permission- Permission to check.- Returns:
- true if this DeploymentCustomizerPermission object implies the specified permission.
- See Also:
Permission.implies(java.security.Permission)
-
newPermissionCollection
public java.security.PermissionCollection newPermissionCollection()
Returns a new PermissionCollection object for storing DeploymentCustomizerPermission objects.- Overrides:
newPermissionCollectionin classjava.security.Permission- Returns:
- The new PermissionCollection.
- See Also:
Permission.newPermissionCollection()
-
-