Package org.osgi.service.dal
Class DevicePermission
java.lang.Object
java.security.Permission
java.security.BasicPermission
org.osgi.service.dal.DevicePermission
- All Implemented Interfaces:
Serializable,Guard
A bundle's authority to perform specific privileged administrative operations
on the devices. The method
Device.remove() is protected with
REMOVE permission 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:
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionDevicePermission(String filter, String action) Creates a newDevicePermissionwith the given filter and actions.DevicePermission(Device device, String action) Creates a newDevicePermissionwith the given device and actions. -
Method Summary
Modifier and TypeMethodDescriptionbooleanTwoDevicePermissioninstances are equal if: Represents the same filter and action. Represents the same device (in respect to device unique identifier) and action.Returns the canonical string representation ofREMOVEaction.inthashCode()Returns the hash code value for this object.booleanDetermines if the specified permission is implied by this object.Returns a newPermissionCollectionsuitable for storingDevicePermissioninstances.Methods inherited from class java.security.Permission
checkGuard, getName, toString
-
Field Details
-
REMOVE
A permission action to remove the device.- See Also:
-
-
Constructor Details
-
DevicePermission
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:
IllegalArgumentException- If the filter syntax is not correct or invalid action is specified.NullPointerException- If the filter or action is null.
-
DevicePermission
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:
IllegalArgumentException- If an invalid action is specified.NullPointerException- If the device or action is null.
-
-
Method Details
-
equals
TwoDevicePermissioninstances are equal if:- Represents the same filter and action.
- Represents the same device (in respect to device unique identifier) and action.
- Overrides:
equalsin classBasicPermission- 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 classBasicPermission- Returns:
- Hash code value for this object.
-
getActions
Returns the canonical string representation ofREMOVEaction.- Overrides:
getActionsin classBasicPermission- Returns:
- The canonical string representation of the actions.
-
implies
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 classBasicPermission- 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:
IllegalArgumentException- If the specified permission is not constructed byDevicePermission(Device, String).
-
newPermissionCollection
Returns a newPermissionCollectionsuitable for storingDevicePermissioninstances.- Overrides:
newPermissionCollectionin classBasicPermission- Returns:
- A new
PermissionCollectioninstance.
-