public final class BundlePermission
extends java.security.BasicPermission
A bundle symbolic name defines a unique fully qualified name.
For example:
org.osgi.example.bundle
BundlePermission has four actions: PROVIDE,
REQUIRE,HOST, and FRAGMENT.
The PROVIDE action implies the REQUIRE action.
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
FRAGMENT
The action string
fragment. |
static java.lang.String |
HOST
The action string
host. |
static java.lang.String |
PROVIDE
The action string
provide. |
static java.lang.String |
REQUIRE
The action string
require. |
| Constructor and Description |
|---|
BundlePermission(java.lang.String symbolicName,
java.lang.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(java.lang.Object obj)
Determines the equality of two
BundlePermission objects. |
java.lang.String |
getActions()
Returns the canonical string representation of the
BundlePermission actions. |
int |
hashCode()
Returns the hash code value for this object.
|
boolean |
implies(java.security.Permission p)
Determines if the specified permission is implied by this object.
|
java.security.PermissionCollection |
newPermissionCollection()
Returns a new
PermissionCollection object suitable for
storing BundlePermission objects. |
public static final java.lang.String PROVIDE
provide.public static final java.lang.String REQUIRE
require.public static final java.lang.String HOST
host.public static final java.lang.String FRAGMENT
fragment.public BundlePermission(java.lang.String symbolicName,
java.lang.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(java.security.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 java.security.BasicPermissionp - The target permission to interrogate.true if the specified
BundlePermission action is implied by this object;
false otherwise.public java.lang.String getActions()
BundlePermission actions.
Always returns present BundlePermission actions in the
following order: PROVIDE,REQUIRE,
HOST,FRAGMENT.
getActions in class java.security.BasicPermissionBundlePermission actions.public java.security.PermissionCollection newPermissionCollection()
PermissionCollection object suitable for
storing BundlePermission objects.newPermissionCollection in class java.security.BasicPermissionPermissionCollection object.public boolean equals(java.lang.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 java.security.BasicPermissionobj - 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 java.security.BasicPermission