public class ApplicationAdminPermission extends Permission
ApplicationAdminPermission can be targeted to applications that matches the specified filter.
ApplicationAdminPermission may be granted for different actions:
lifecycle
, schedule
and lock
. The permission
schedule
implies the permission lifecycle
.
Modifier and Type | Field and Description |
---|---|
static String |
LIFECYCLE_ACTION
Allows the lifecycle management of the target applications.
|
static String |
LOCK_ACTION
Allows setting/unsetting the locking state of the target applications.
|
static String |
SCHEDULE_ACTION
Allows scheduling of the target applications.
|
Constructor and Description |
---|
ApplicationAdminPermission(ApplicationDescriptor application,
String actions)
This constructor should be used when creating
ApplicationAdminPermission instance for checkPermission
call. |
ApplicationAdminPermission(String filter,
String actions)
Constructs an ApplicationAdminPermission.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object with) |
String |
getActions()
Returns the actions of this permission.
|
int |
hashCode() |
boolean |
implies(Permission otherPermission)
Checks if the specified
permission is implied by this permission. |
ApplicationAdminPermission |
setCurrentApplicationId(String applicationId)
This method can be used in the
ProtectionDomain
implementation in the implies method to insert the application ID
of the current application into the permission being checked. |
checkGuard, getName, newPermissionCollection, toString
public static final String LIFECYCLE_ACTION
public static final String SCHEDULE_ACTION
schedule
implies lifecycle
public static final String LOCK_ACTION
public ApplicationAdminPermission(String filter, String actions) throws InvalidSyntaxException
filter
specifies
the target application. The filter
is an LDAP-style filter, the
recognized properties are signer
and pid
. The pattern
specified in the signer
is matched with the Distinguished Name
chain used to sign the application. Wildcards in a DN are not matched
according to the filter string rules, but according to the rules defined
for a DN chain. The attribute pid
is matched with the PID of the
application according to the filter string rules.
If the filter
is null
then it matches "*"
. If
actions
is "*"
then it identifies all the possible
actions.
filter
- filter to identify application. The value null
is
equivalent to "*"
and it indicates "all application".actions
- comma-separated list of the desired actions granted on the
applications or "*" means all the actions. It must not be
null
. The order of the actions in the list is not
significant.InvalidSyntaxException
- is thrown if the specified filter
is not syntactically correct.NullPointerException
- is thrown if the actions parameter is
null
ApplicationDescriptor
,
AdminPermission
public ApplicationAdminPermission(ApplicationDescriptor application, String actions)
ApplicationAdminPermission
instance for checkPermission
call.application
- The target of the operation, it must not be
null
.actions
- The required operation, it must not be null
.NullPointerException
- If any of the arguments is null.public ApplicationAdminPermission setCurrentApplicationId(String applicationId)
ProtectionDomain
implementation in the implies
method to insert the application ID
of the current application into the permission being checked. This
enables the evaluation of the <<SELF>>
pseudo targets.applicationId
- the ID of the current application.public boolean implies(Permission otherPermission)
permission
is implied by this permission.
The method returns true under the following conditions:
ApplicationAdminPermission(String, String)
)otherPermission
was created for a particular
ApplicationDescriptor
(see
ApplicationAdminPermission(ApplicationDescriptor, String)
)filter
of this permission matches the
ApplicationDescriptor
specified in the otherPermission
.
If the filter in this permission is the <<SELF>>
pseudo target,
then the currentApplicationId set in the otherPermission
is
compared to the application Id of the target
ApplicationDescriptor
.otherPermission
implies
in class Permission
otherPermission
- the implied permissionotherPermission
,
false otherwise.public boolean equals(Object with)
equals
in class Permission
public int hashCode()
hashCode
in class Permission
public String getActions()
getActions
in class Permission
Copyright © OSGi Alliance (2000, 2015). All Rights Reserved. Licensed under the OSGi Specification License, Version 2.0