Java Reference
In-Depth Information
Table 14.3
BundlePermission
constructor parameters
Parameter
Description
String symbolicName
Symbolic name of the bundle to which this permission applies
String actions
Comma-delimited list of the actions granted by the permission
(
provide
,
require
,
host
, or
fragment
)
Fragment dependencies are controlled by the
host
and
fragment
actions, which give a
bundle the ability to be a host bundle for matching fragments or be a fragment for
matching hosts, respectively. Another similarity to
PackagePermission
is that the
provide
action implies the
require
action.
Using
BundlePermission
isn't sufficiently different from using
PackagePermission
,
so we won't look into it any further. Instead, we'll move on to the next
OSG
i permission.
14.3.3
AdminPermission
AdminPermission
is a lifecycle-layer permission to control access to sensitive frame-
work operations and information. The operations and information protected by
AdminPermission
are diverse, which makes it somewhat complex but fairly powerful.
Ta b l e 1 4 . 4 s h o w s t h e p a r a m e t e r s n e e d e d t o c r e a t e s u c h a p e r m i s s i o n .
Table 14.4
AdminPermission
constructor parameters
Parameter
Description
LDAP filter to specify matching bundles
String filter
String actions
Comma-delimited list of the actions granted by the permission (
class
,
execute
,
extensionLifecycle
,
lifecycle,
listener
,
metadata
,
resolve
,
resource
,
startlevel
, or
context
)
When you grant
AdminPermission
to a bundle, that bundle is allowed to perform the
specified actions on the bundles matching the filter. The filter uses the same
LDAP
fil-
ter syntax used by the
OSG
i service registry, but only the following attributes are
defined for matching:
■
signer
—Identity information about the bundle provider
■
location
—Bundle location
■
id
—Bundle identifier
■
name
—Bundle symbolic name
We'll give some filter examples shortly. First we'll briefly describe what the granted
actions allow on the matching bundles:
■
class
—Load a class
■
execute
—Start, stop, and set the start level
■
extensionLifecycle
—Manage extension bundles