Package org.osgi.service.dal
Class DevicePermission
- java.lang.Object
-
- java.security.Permission
-
- java.security.BasicPermission
-
- org.osgi.service.dal.DevicePermission
-
- All Implemented Interfaces:
java.io.Serializable,java.security.Guard
public class DevicePermission extends java.security.BasicPermissionA bundle's authority to perform specific privileged administrative operations on the devices. The methodDevice.remove()is protected withREMOVEpermission action.The name of the permission is a filter based. See OSGi Core Specification, Filter Based Permissions. The filter gives an access to all device service properties. Filter attribute names are processed in a case sensitive manner.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringREMOVEA permission action to remove the device.
-
Constructor Summary
Constructors Constructor Description DevicePermission(java.lang.String filter, java.lang.String action)Creates a newDevicePermissionwith the given filter and actions.DevicePermission(Device device, java.lang.String action)Creates a newDevicePermissionwith the given device and actions.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object obj)TwoDevicePermissioninstances are equal if: Represents the same filter and action. Represents the same device (in respect to device unique identifier) and action.java.lang.StringgetActions()Returns the canonical string representation ofREMOVEaction.inthashCode()Returns the hash code value for this object.booleanimplies(java.security.Permission p)Determines if the specified permission is implied by this object.java.security.PermissionCollectionnewPermissionCollection()Returns a newPermissionCollectionsuitable for storingDevicePermissioninstances.
-
-
-
Field Detail
-
REMOVE
public static final java.lang.String REMOVE
A permission action to remove the device.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DevicePermission
public DevicePermission(java.lang.String filter, java.lang.String action)Creates a newDevicePermissionwith the given filter and actions. The constructor must only be used to create a permission that is going to be checked.A filter example: (dal.device.hardware.vendor=acme)
An action: remove
- Parameters:
filter- A filter expression that can use any device service property. The filter attribute names are processed in a case insensitive manner. A special value of "*" can be used to match all devices.action-REMOVEaction.- Throws:
java.lang.IllegalArgumentException- If the filter syntax is not correct or invalid action is specified.java.lang.NullPointerException- If the filter or action is null.
-
DevicePermission
public DevicePermission(Device device, java.lang.String action)
Creates a newDevicePermissionwith the given device and actions. The permission must be used for the security checks like:securityManager.checkPermission(new DevicePermission(this, "remove")). The permissions constructed by this constructor must not be added to theDevicePermissionpermission collections.- Parameters:
device- The device that needs to be checked for a permission.action-REMOVEaction.- Throws:
java.lang.IllegalArgumentException- If an invalid action is specified.java.lang.NullPointerException- If the device or action is null.
-
-
Method Detail
-
equals
public boolean equals(java.lang.Object obj)
TwoDevicePermissioninstances are equal if:- Represents the same filter and action.
- Represents the same device (in respect to device unique identifier) and action.
- Overrides:
equalsin classjava.security.BasicPermission- Parameters:
obj- The object being compared for equality with this object.- Returns:
trueif two permissions are equal,falseotherwise.
-
hashCode
public int hashCode()
Returns the hash code value for this object.- Overrides:
hashCodein classjava.security.BasicPermission- Returns:
- Hash code value for this object.
-
getActions
public java.lang.String getActions()
Returns the canonical string representation ofREMOVEaction.- Overrides:
getActionsin classjava.security.BasicPermission- Returns:
- The canonical string representation of the actions.
-
implies
public boolean implies(java.security.Permission p)
Determines if the specified permission is implied by this object. The method will returnfalseif the specified permission was not constructed byDevicePermission(Device, String). Returnstrueif the specified permission is aDevicePermissionand this permission filter matches the specified permission device properties.- Overrides:
impliesin classjava.security.BasicPermission- Parameters:
p- The permission to be implied. It must be constructed byDevicePermission(Device, String).- Returns:
trueif the specified permission is implied by this permission,falseotherwise.- Throws:
java.lang.IllegalArgumentException- If the specified permission is not constructed byDevicePermission(Device, String).
-
newPermissionCollection
public java.security.PermissionCollection newPermissionCollection()
Returns a newPermissionCollectionsuitable for storingDevicePermissioninstances.- Overrides:
newPermissionCollectionin classjava.security.BasicPermission- Returns:
- A new
PermissionCollectioninstance.
-
-