public class DmtPermission extends Permission
DmtPermission("./OSGi/bundles", "Add,Replace,Get");This means that owner of this permission can execute Add, Replace and Get commands on the ./OSGi/bundles management object. It is possible to use wildcards in both the target and the actions field. Wildcard in the target field means that the owner of the permission can access children nodes of the target node. Example:
DmtPermission("./OSGi/bundles/*", "Get");This means that owner of this permission has Get access on every child node of ./OSGi/bundles. The asterisk does not necessarily have to follow a '/' character. For example the
"./OSGi/a*"
target matches the
./OSGi/applications
subtree.
If wildcard is present in the actions field, all legal OMA DM commands are
allowed on the designated nodes(s) by the owner of the permission. Action
names are interpreted case-insensitively, but the canonical action string
returned by getActions()
uses the forms defined by the action
constants.
Modifier and Type | Field and Description |
---|---|
static String |
ADD
Holders of DmtPermission with the Add action present can create new nodes
in the DMT, that is they are authorized to execute the
createInteriorNode() and createLeafNode() methods of the DmtSession.
|
static String |
DELETE
Holders of DmtPermission with the Delete action present can delete nodes
from the DMT, that is they are authorized to execute the deleteNode()
method of the DmtSession.
|
static String |
EXEC
Holders of DmtPermission with the Exec action present can execute nodes
in the DMT, that is they are authorized to call the execute() method of
the DmtSession.
|
static String |
GET
Holders of DmtPermission with the Get action present can query DMT node
value or properties, that is they are authorized to execute the
isLeafNode(), getNodeAcl(), getEffectiveNodeAcl(), getMetaNode(),
getNodeValue(), getChildNodeNames(), getNodeTitle(), getNodeVersion(),
getNodeTimeStamp(), getNodeSize() and getNodeType() methods of the
DmtSession.
|
static String |
REPLACE
Holders of DmtPermission with the Replace action present can update DMT
node value or properties, that is they are authorized to execute the
setNodeAcl(), setNodeTitle(), setNodeValue(), setNodeType() and
renameNode() methods of the DmtSession.
|
Constructor and Description |
---|
DmtPermission(String dmtUri,
String actions)
Creates a new DmtPermission object for the specified DMT URI with the
specified actions.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj)
Checks whether the given object is equal to this DmtPermission instance.
|
String |
getActions()
Returns the String representation of the action list.
|
int |
hashCode()
Returns the hash code for this permission object.
|
boolean |
implies(Permission p)
Checks if this DmtPermission object "implies" the specified
permission.
|
PermissionCollection |
newPermissionCollection()
Returns a new PermissionCollection object for storing DmtPermission
objects.
|
checkGuard, getName, toString
public static final String ADD
public static final String DELETE
public static final String EXEC
public static final String GET
public static final String REPLACE
public DmtPermission(String dmtUri, String actions)
"*"
, which matches all valid (see
Uri.isValidUri(String)
) absolute URIs;*
character
(for example "./OSGi/L*"
), which matches all valid absolute URIs
beginning with the given prefix;
Since the *
character is itself a valid URI character, it can
appear as the last character of a valid absolute URI. To distinguish this
case from using *
as a wildcard, the *
character at the
end of the URI must be escaped with the \
character. For example
the URI "./a*"
matches "./a"
, "./aa"
,
"./a/b"
etc. while "./a\*"
matches "./a*"
only.
The actions string must either be "*" to allow all actions, or it must contain a non-empty subset of the valid actions, defined as constants in this class.
dmtUri
- URI of the management object (or subtree)actions
- OMA DM actions allowedNullPointerException
- if any of the parameters are null
IllegalArgumentException
- if any of the parameters are invalidpublic boolean equals(Object obj)
equals
in class Permission
obj
- the object to compare to this DmtPermission instancetrue
if the parameter represents the same permissions as
this instancepublic String getActions()
getActions
in class Permission
public int hashCode()
equals(Object)
method, then
calling this method on each of the two DmtPermission objects must produce
the same integer result.hashCode
in class Permission
public boolean implies(Permission p)
false
if and only if at least one
of the following conditions are fulfilled for the specified permission:
implies
in class Permission
p
- the permission to check for implicationpublic PermissionCollection newPermissionCollection()
newPermissionCollection
in class Permission
Copyright © Contributors to the Eclipse Foundation Licensed under the Eclipse Foundation Specification License – v1.0