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.service.permissionadmin
Class PermissionInfo

    java.lang.Object
      |
      +--org.osgi.service.permissionadmin.PermissionInfo

public class PermissionInfo
extends java.lang.Object

Permission representation used by the Permission Admin service.

This class encapsulates three pieces of information: a Permission type (class name), which must be a subclass of `java.security.Permission`, and the name and actions arguments passed to its constructor.

In order for a permission represented by a `PermissionInfo` to be instantiated and considered during a permission check, its Permission class must be available from the system classpath or an exported package. This means that the instantiation of a permission represented by a `PermissionInfo` may be delayed until the package containing its Permission class has been exported by a bundle.

Constructor Summary
`PermissionInfo(java.lang.String encodedPermission)` Constructs a `PermissionInfo` object from the given encoded `PermissionInfo` string.
`PermissionInfo(java.lang.String type, java.lang.String name, java.lang.String actions)` Constructs a `PermissionInfo` from the given type, name, and actions.

Method Summary
`boolean` | `equals(java.lang.Object obj)` Determines the equality of two `PermissionInfo` objects.
`java.lang.String` | `getActions()` Returns the actions of the permission represented by this `PermissionInfo`.
`java.lang.String` | `getEncoded()` Returns the string encoding of this `PermissionInfo` in a form suitable for restoring this `PermissionInfo`.
`java.lang.String` | `getName()` Returns the name of the permission represented by this `PermissionInfo`.
`java.lang.String` | `getType()` Returns the fully qualified class name of the permission represented by this `PermissionInfo`.
`int` | `hashCode()` Returns the hash code value for this object.
`java.lang.String` | `toString()` Returns the string representation of this `PermissionInfo`.

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

Constructor Detail

### PermissionInfo

    public PermissionInfo(java.lang.String type,
                          java.lang.String name,
                          java.lang.String actions)

  Constructs a `PermissionInfo` from the given type, name, and actions.
  Parameters:
    `type` - The fully qualified class name of the permission represented by this `PermissionInfo`. The class must be a subclass of `java.security.Permission` and must define a 2-argument constructor that takes a name string and an actions string.
    `name` - The permission name that will be passed as the first argument to the constructor of the `Permission` class identified by `type`.
    `actions` - The permission actions that will be passed as the second argument to the constructor of the `Permission` class identified by `type`.
  Throws:
    `java.lang.NullPointerException` - if `type` is `null`.
    `java.lang.IllegalArgumentException` - if `action` is not `null` and `name` is `null`.

### PermissionInfo

    public PermissionInfo(java.lang.String encodedPermission)

  Constructs a `PermissionInfo` object from the given encoded `PermissionInfo` string.
  Parameters:
    `encodedPermission` - The encoded `PermissionInfo`.
  Throws:
    `java.lang.IllegalArgumentException` - if `encodedPermission` is not properly formatted.
  See Also:
    `getEncoded()`

Method Detail

### getEncoded

    public final java.lang.String getEncoded()

  Returns the string encoding of this `PermissionInfo` in a form suitable for restoring this `PermissionInfo`.

  The encoding format is:

       (type)

  or

       (type "name")

  or

       (type "name" "actions")

  where name and actions are strings that are encoded for proper parsing. Specifically, the `"`, `\`, carriage return, and linefeed characters are escaped using `\"`, `\\`, `\r`, and `\n`, respectively.

  The encoded string must contain no leading or trailing whitespace characters. A single space character must be used between type and "name" and between "name" and "actions".

  Returns:
    The string encoding of this `PermissionInfo`.

### toString

    public java.lang.String toString()

  Returns the string representation of this `PermissionInfo`. The string is created by calling the `getEncoded` method on this `PermissionInfo`.
  Overrides:
    `toString` in class `java.lang.Object`
  Returns:
    The string representation of this `PermissionInfo`.

### getType

    public final java.lang.String getType()

  Returns the fully qualified class name of the permission represented by this `PermissionInfo`.
  Returns:
    The fully qualified class name of the permission represented by this `PermissionInfo`.

### getName

    public final java.lang.String getName()

  Returns the name of the permission represented by this `PermissionInfo`.
  Returns:
    The name of the permission represented by this `PermissionInfo`, or `null` if the permission does not have a name.

### getActions

    public final java.lang.String getActions()

  Returns the actions of the permission represented by this `PermissionInfo`.
  Returns:
    The actions of the permission represented by this `PermissionInfo`, or `null` if the permission does not have any actions associated with it.

### equals

    public boolean equals(java.lang.Object obj)

  Determines the equality of two `PermissionInfo` objects. This method checks that specified object has the same type, name and actions as this `PermissionInfo` object.
  Overrides:
    `equals` in class `java.lang.Object`
  Parameters:
    `obj` - The object to test for equality with this `PermissionInfo` object.
  Returns:
    `true` if `obj` is a `PermissionInfo`, and has the same type, name and actions as this `PermissionInfo` object; `false` otherwise.

### hashCode

    public int hashCode()

  Returns the hash code value for this object.
  Overrides:
    `hashCode` in class `java.lang.Object`
  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.