public class PeripheralMgmtPermission
extends java.security.Permission
PeripheralMgmtPermission
class defines permissions for registering and unregistering peripheral devices as
well as opening peripheral devices using their registered configurations.
Peripheral management permissions have a target name and actions.
The target name is a combination of a peripheral name and of a peripheral ID or range of peripheral IDs.
It takes the following form:
{peripheral-name-spec} [ ":"{peripheral-id-spec} ]
{peripheral-name-spec}
{peripheral-name-spec}
string takes the following form:
{peripheral-name} | "*" | ""
The {peripheral-name}
string is a peripheral name as may be returned by a call to PeripheralDescriptor.getName
.
{peripheral-name-spec}
specification consisting of the asterisk ("*") matches all peripheral names.
A {peripheral-name-spec}
specification consisting of the empty string ("") designates an undefined peripheral name
that may only be matched by an empty string or an asterisk.
{peripheral-id-spec}
{peripheral-id-spec}
string takes the following form:
{peripheral-id} | "-"{peripheral-id} | {peripheral-id}"-"[{peripheral-id}] | "*"
The {peripheral-id}
string is a peripheral ID as may be returned by a call to PeripheralDescriptor.getID
.
The characters in the string must all be decimal digits.
{peripheral-id-spec}
specification of the form "N-" (where N is a peripheral ID) signifies all peripheral IDs
numbered N and above, while a specification of the form "-N" indicates all peripheral IDs numbered N and below.
A single asterisk in the place of the {peripheral-id-spec}
field matches all peripheral IDs.
The target name "*:*"
matches all peripheral names and all peripheral IDs as is the target name "*"
.
register
and unregister
. Their
meaning is defined as follows:
open
PeripheralManager.open(id, ...)
and PeripheralManager.open(name, ...)
methods)register
unregister
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
OPEN
The
open action. |
static java.lang.String |
REGISTER
The
register action. |
static java.lang.String |
UNREGISTER
The
unregister action. |
Constructor and Description |
---|
PeripheralMgmtPermission(java.lang.String name,
java.lang.String actions)
Constructs a new
PeripheralMgmtPermission instance with the specified target name and action list. |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object obj)
Checks two
PeripheralMgmtPermission objects for equality. |
java.lang.String |
getActions()
Returns the list of possible actions in the following order:
register ,
unregister or open . |
int |
hashCode()
Returns the hash code value for this object.
|
boolean |
implies(java.security.Permission permission)
Checks if this
PeripheralMgmtPermission object "implies" the specified permission. |
java.security.PermissionCollection |
newPermissionCollection()
Returns a new
PermissionCollection for storing PeripheralMgmtPermission objects. |
public static final java.lang.String REGISTER
register
action.public static final java.lang.String UNREGISTER
unregister
action.public static final java.lang.String OPEN
open
action.public PeripheralMgmtPermission(java.lang.String name, java.lang.String actions)
PeripheralMgmtPermission
instance with the specified target name and action list.name
- the target name (as defined above).actions
- comma-separated list of peripheral management operations: register
unregister
or open
.java.lang.NullPointerException
- if name
is null
.java.lang.IllegalArgumentException
- if name
is empty or if actions is null
, empty or contains an action other than the
specified possible actions.public boolean equals(java.lang.Object obj)
PeripheralMgmtPermission
objects for equality.equals
in class java.security.Permission
obj
- the object to test for equality with this object.true
if obj
is a PeripheralMgmtPermission
and has the same target name and
actions as this PeripheralMgmtPermission
object.public java.lang.String getActions()
register
,
unregister
or open
.getActions
in class java.security.Permission
public int hashCode()
hashCode
in class java.security.Permission
public boolean implies(java.security.Permission permission)
PeripheralMgmtPermission
object "implies" the specified permission.
More specifically, this method returns true
if:
permission
is an instance of PeripheralMgmtPermission
, and
permission
's actions are a proper subset of this action list, and
permission
's peripheral name, ID or range thereof
is included in this peripheral name or ID range, whichever is defined.
implies
in class java.security.Permission
permission
- the permission to check against.true
if the specified permission is not null
and is implied by this object, false
otherwise.public java.security.PermissionCollection newPermissionCollection()
PermissionCollection
for storing PeripheralMgmtPermission
objects.
PeripheralMgmtPermission
objects must be stored in a manner that allows them to be inserted into the
collection in any order, but that also enables the PermissionCollection
implies method to be implemented
in an efficient (and consistent) manner.
If null
is returned, then the caller of this method is free to store permissions of this type in any
PermissionCollection they choose (one that uses a Hashtable
, one that uses a Vector
, etc).
newPermissionCollection
in class java.security.Permission
PermissionCollection
suitable for storing PeripheralMgmtPermission
objects, or
null
if one is not defined.Copyright © 2012, 2014, Oracle and/or its affiliates. All rights reserved.
Legal Notices