org.osgi.framework

Class PackagePermission

public final class PackagePermission extends BasicPermission

A bundle's authority to import or export a package.

A package is a dot-separated string that defines a fully qualified Java package.

For example:

 
 org.osgi.service.http
 
 

PackagePermission has two actions: EXPORT and IMPORT. The EXPORT action implies the IMPORT action.

Version: $Revision: 1.14 $

Field Summary
static StringEXPORT
The action string export.
static StringIMPORT
The action string import.
Constructor Summary
PackagePermission(String name, String actions)
Defines the authority to import and/or export a package within the OSGi environment.
Method Summary
booleanequals(Object obj)
Determines the equality of two PackagePermission objects.
StringgetActions()
Returns the canonical string representation of the PackagePermission actions.
inthashCode()
Returns the hash code value for this object.
booleanimplies(Permission p)
Determines if the specified permission is implied by this object.
PermissionCollectionnewPermissionCollection()
Returns a new PermissionCollection object suitable for storing PackagePermission objects.

Field Detail

EXPORT

public static final String EXPORT
The action string export.

IMPORT

public static final String IMPORT
The action string import.

Constructor Detail

PackagePermission

public PackagePermission(String name, String actions)
Defines the authority to import and/or export a package within the OSGi environment.

The name is specified as a normal Java package name: a dot-separated string. Wildcards may be used. For example:

 org.osgi.service.http
 javax.servlet.*
 *
 

Package Permissions are granted over all possible versions of a package. A bundle that needs to export a package must have the appropriate PackagePermission for that package; similarly, a bundle that needs to import a package must have the appropriate PackagePermssion for that package.

Permission is granted for both classes and resources.

Parameters: name Package name. actions EXPORT,IMPORT (canonical order).

Method Detail

equals

public boolean equals(Object obj)
Determines the equality of two PackagePermission objects. This method checks that specified package has the same package name and PackagePermission actions as this PackagePermission object.

Parameters: obj The object to test for equality with this PackagePermission object.

Returns: true if obj is a PackagePermission, and has the same package name and actions as this PackagePermission object; false otherwise.

getActions

public String getActions()
Returns the canonical string representation of the PackagePermission actions.

Always returns present PackagePermission actions in the following order: EXPORT,IMPORT.

Returns: Canonical string representation of the PackagePermission actions.

hashCode

public int hashCode()
Returns the hash code value for this object.

Returns: A hash code value for this object.

implies

public boolean implies(Permission p)
Determines if the specified permission is implied by this object.

This method checks that the package name of the target is implied by the package name of this object. The list of PackagePermission actions must either match or allow for the list of the target object to imply the target PackagePermission action.

The permission to export a package implies the permission to import the named package.

 x.y.*,"export" -> x.y.z,"export" is true
 *,"import" -> x.y, "import"      is true
 *,"export" -> x.y, "import"      is true
 x.y,"export" -> x.y.z, "export"  is false
 

Parameters: p The target permission to interrogate.

Returns: true if the specified PackagePermission action is implied by this object; false otherwise.

newPermissionCollection

public PermissionCollection newPermissionCollection()
Returns a new PermissionCollection object suitable for storing PackagePermission objects.

Returns: A new PermissionCollection object.