public final class BundlePermission extends BasicPermission
A bundle symbolic name defines a unique fully qualified name. Wildcards may be used.
name ::= <symbolic name> | <symbolic name ending in ".*"> | *Examples:
org.osgi.example.bundle org.osgi.example.* *
BundlePermission
has four actions: provide
,
require
,host
, and fragment
. The
provide
action implies the require
action.
Modifier and Type | Field and Description |
---|---|
static String |
FRAGMENT
The action string
fragment . |
static String |
HOST
The action string
host . |
static String |
PROVIDE
The action string
provide . |
static String |
REQUIRE
The action string
require . |
Constructor and Description |
---|
BundlePermission(String symbolicName,
String actions)
Defines the authority to provide and/or require and or specify a host
fragment symbolic name within the OSGi environment.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj)
Determines the equality of two
BundlePermission objects. |
String |
getActions()
Returns the canonical string representation of the
BundlePermission actions. |
int |
hashCode()
Returns the hash code value for this object.
|
boolean |
implies(Permission p)
Determines if the specified permission is implied by this object.
|
PermissionCollection |
newPermissionCollection()
Returns a new
PermissionCollection object suitable for
storing BundlePermission objects. |
checkGuard, getName, toString
public static final String PROVIDE
provide
. The provide
action
implies the require
action.public static final String REQUIRE
require
. The require
action
is implied by the provide
action.public static final String HOST
host
.public static final String FRAGMENT
fragment
.public BundlePermission(String symbolicName, String actions)
Bundle Permissions are granted over all possible versions of a bundle.
A bundle that needs to provide a bundle must have the appropriate
BundlePermission
for the symbolic name; a bundle that
requires a bundle must have the appropriate BundlePermssion
for that symbolic name; a bundle that specifies a fragment host must have
the appropriate BundlePermission
for that symbolic name.
symbolicName
- The bundle symbolic name.actions
- provide
,require
,
host
,fragment
(canonical order).public boolean implies(Permission p)
This method checks that the symbolic name of the target is implied by the
symbolic name of this object. The list of BundlePermission
actions must either match or allow for the list of the target object to
imply the target BundlePermission
action.
The permission to provide a bundle implies the permission to require the named symbolic name.
x.y.*,"provide" -> x.y.z,"provide" is true *,"require" -> x.y, "require" is true *,"provide" -> x.y, "require" is true x.y,"provide" -> x.y.z, "provide" is false
implies
in class BasicPermission
p
- The requested permission.true
if the specified BundlePermission
action is implied by this object; false
otherwise.public String getActions()
BundlePermission
actions.
Always returns present BundlePermission
actions in the
following order: provide
, require
,
host
, fragment
.
getActions
in class BasicPermission
BundlePermission
actions.public PermissionCollection newPermissionCollection()
PermissionCollection
object suitable for
storing BundlePermission
objects.newPermissionCollection
in class BasicPermission
PermissionCollection
object.public boolean equals(Object obj)
BundlePermission
objects.
This method checks that specified bundle has the same bundle symbolic
name and BundlePermission
actions as this
BundlePermission
object.equals
in class BasicPermission
obj
- The object to test for equality with this
BundlePermission
object.true
if obj
is a
BundlePermission
, and has the same bundle symbolic
name and actions as this BundlePermission
object;
false
otherwise.public int hashCode()
hashCode
in class BasicPermission
Copyright © 2018 JBoss by Red Hat. All rights reserved.