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.Permission
TheDeploymentCustomizerPermission
permission 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 haveFilePermission
with "read", "write" and "delete" actions for the returnedFile
that 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.String
PRIVATEAREA
Constant String to the "privatearea" action.
-
Constructor Summary
Constructors Constructor Description DeploymentCustomizerPermission(java.lang.String name, java.lang.String actions)
Creates a newDeploymentCustomizerPermission
object for the givenname
andaction
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object obj)
Checks two DeploymentCustomizerPermission objects for equality.java.lang.String
getActions()
Returns the String representation of the action list.int
hashCode()
Returns hash code for this permission object.boolean
implies(java.security.Permission permission)
Checks if this DeploymentCustomizerPermission would imply the parameter permission.java.security.PermissionCollection
newPermissionCollection()
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 newDeploymentCustomizerPermission
object for the givenname
andaction
.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 haveFilePermission
with "read", "write" and "delete" actions for the returnedFile
and 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:
equals
in 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:
hashCode
in 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:
getActions
in 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:
implies
in 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:
newPermissionCollection
in classjava.security.Permission
- Returns:
- The new PermissionCollection.
- See Also:
Permission.newPermissionCollection()
-
-