public class MonitorPermission extends Permission
StatusVariable
s, to switch event sending on or off or to start
monitoring jobs. The target of the permission is the identifier of the
StatusVariable
, the action can be read
,
publish
, reset
, startjob
,
switchevents
, or the combination of these separated by commas.
Action names are interpreted case-insensitively, but the canonical action
string returned by getActions()
uses the forms defined by the action
constants.
If the wildcard *
appears in the actions field, all legal
monitoring commands are allowed on the designated target(s) by the owner of
the permission.
Modifier and Type | Field and Description |
---|---|
static String |
PUBLISH
Holders of
MonitorPermission with the publish
action present are Monitorable services that are allowed
to publish the StatusVariable s specified in the
permission's target field. |
static String |
READ
Holders of
MonitorPermission with the read
action present are allowed to read the value of the
StatusVariable s specified in the permission's target field. |
static String |
RESET
Holders of
MonitorPermission with the reset
action present are allowed to reset the value of the
StatusVariable s specified in the permission's target field. |
static String |
STARTJOB
Holders of
MonitorPermission with the startjob
action present are allowed to initiate monitoring jobs involving the
StatusVariable s specified in the permission's target field. |
static String |
SWITCHEVENTS
Holders of
MonitorPermission with the
switchevents action present are allowed to switch event
sending on or off for the value of the StatusVariable s
specified in the permission's target field. |
Constructor and Description |
---|
MonitorPermission(String statusVariable,
String actions)
Create a
MonitorPermission object, specifying the target
and actions. |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object o)
Determines the equality of two
MonitorPermission objects. |
String |
getActions()
Get the action string associated with this permission.
|
int |
hashCode()
Create an integer hash of the object.
|
boolean |
implies(Permission p)
Determines if the specified permission is implied by this permission.
|
checkGuard, getName, newPermissionCollection, toString
public static final String READ
MonitorPermission
with the read
action present are allowed to read the value of the
StatusVariable
s specified in the permission's target field.public static final String RESET
MonitorPermission
with the reset
action present are allowed to reset the value of the
StatusVariable
s specified in the permission's target field.public static final String PUBLISH
MonitorPermission
with the publish
action present are Monitorable
services that are allowed
to publish the StatusVariable
s specified in the
permission's target field. Note, that this permission cannot be enforced
when a Monitorable
registers to the framework, because the
Service Registry does not know about this permission. Instead, any
StatusVariable
s published by a Monitorable
without the corresponding publish
permission are silently
ignored by MonitorAdmin
, and are therefore invisible to the
users of the monitoring service.public static final String STARTJOB
MonitorPermission
with the startjob
action present are allowed to initiate monitoring jobs involving the
StatusVariable
s specified in the permission's target field.
A minimal sampling interval can be optionally defined in the following
form: startjob:n
. This allows the holder of the permission
to initiate time based jobs with a measurement interval of at least
n
seconds. If n
is not specified or 0 then the
holder of this permission is allowed to start monitoring jobs specifying
any frequency.
public static final String SWITCHEVENTS
MonitorPermission
with the
switchevents
action present are allowed to switch event
sending on or off for the value of the StatusVariable
s
specified in the permission's target field.public MonitorPermission(String statusVariable, String actions) throws IllegalArgumentException
MonitorPermission
object, specifying the target
and actions.
The statusVariable
parameter is the target of the
permission, defining one or more status variable names to which the
specified actions apply. Multiple status variable names can be selected
by using the wildcard *
in the target string. The wildcard
is allowed in both fragments, but only at the end of the fragments.
For example, the following targets are valid:
com.mycomp.myapp/queue_length
,
com.mycomp.myapp/*
, com.mycomp.*/*
,
*/*
, */queue_length
,
*/queue*
.
The following targets are invalid:
*.myapp/queue_length
, com.*.myapp/*
,
*
.
The actions
parameter specifies the allowed action(s):
read
, publish
, startjob
,
reset
, switchevents
, or the combination of
these separated by commas. String constants are defined in this class for
each valid action. Passing "*"
as the action
string is equivalent to listing all actions.
statusVariable
- the identifier of the StatusVariable
in [Monitorable_id]/[StatusVariable_id] formatactions
- the list of allowed actions separated by commas, or
*
for all actionsIllegalArgumentException
- if either parameter is
null
, or invalid with regard to the constraints
defined above and in the documentation of the used actionspublic int hashCode()
MonitorPermission
s p1
and p2
are
the same if p1.equals(p2)
.hashCode
in class Permission
public boolean equals(Object o)
MonitorPermission
objects.
Two MonitorPermission
objects are equal if their target
strings are equal and the same set of actions are listed in their action
strings.equals
in class Permission
o
- the object being compared for equality with this objecttrue
if the two permissions are equalpublic String getActions()
read
, reset
,
publish
, startjob
, switchevents
.getActions
in class Permission
null
public boolean implies(Permission p)
This method returns false
if and only if at least one of the
following conditions are fulfilled for the specified permission:
MonitorPermission
Monitorable
s is not the same nor a
subset of the target set of Monitorable
s of this permission
StatusVariable
s is not the same
nor a subset of the target set of StatusVariable
s of this
permission
implies
in class Permission
p
- the permission to be checkedtrue
if the given permission is implied by this
permissionCopyright © 2006–2017 OSGi Alliance. All rights reserved.