Overview | Package | Class | Tree | Serialized | Deprecated | Index | Help
| OSGi Service Platform Release 3
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.osgi.framework
Class PackagePermission

    java.lang.Object
      |
      +--java.security.Permission
            |
            +--java.security.BasicPermission
                  |
                  +--org.osgi.framework.PackagePermission

All Implemented Interfaces:
  java.security.Guard, java.io.Serializable

public final class PackagePermission
extends java.security.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.

See Also:
  Serialized Form

Field Summary
`static java.lang.String` | `EXPORT` The action string `export`.
`static java.lang.String` | `IMPORT` The action string `import`.

Constructor Summary
`PackagePermission(java.lang.String name, java.lang.String actions)` Defines the authority to import and/or export a package within the OSGi environment.

Method Summary
`boolean` | `equals(java.lang.Object obj)` Determines the equality of two `PackagePermission` objects.
`java.lang.String` | `getActions()` Returns the canonical string representation of the `PackagePermission` 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 `PackagePermission` objects.

Methods inherited from class java.security.Permission
`checkGuard, getName, toString`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### EXPORT

    public static final java.lang.String EXPORT

  The action string `export`.

### IMPORT

    public static final java.lang.String IMPORT

  The action string `import`.

Constructor Detail

### PackagePermission

    public PackagePermission(java.lang.String name,
                             java.lang.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

### implies

    public boolean implies(java.security.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

  Overrides:
    `implies` in class `java.security.BasicPermission`
  Parameters:
    `p` - The target permission to interrogate.
  Returns:
    `true` if the specified `PackagePermission` action is implied by this object; `false` otherwise.

### getActions

    public java.lang.String getActions()

  Returns the canonical string representation of the `PackagePermission` actions.

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

  Overrides:
    `getActions` in class `java.security.BasicPermission`
  Returns:
    Canonical string representation of the `PackagePermission` actions.

### newPermissionCollection

    public java.security.PermissionCollection newPermissionCollection()

  Returns a new `PermissionCollection` object suitable for storing `PackagePermission` objects.
  Overrides:
    `newPermissionCollection` in class `java.security.BasicPermission`
  Returns:
    A new `PermissionCollection` object.

### equals

    public boolean equals(java.lang.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.
  Overrides:
    `equals` in class `java.security.BasicPermission`
  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.

### hashCode

    public int hashCode()

  Returns the hash code value for this object.
  Overrides:
    `hashCode` in class `java.security.BasicPermission`
  Returns:
    A hash code value for this object.

Overview | Package | Class | Tree | Serialized | Deprecated | Index | Help
| OSGi Service Platform Release 3
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (c) OSGi Alliance (2000, 2003). All Rights Reserved.