Class PermissionInfo

java.lang.Object
org.osgi.service.permissionadmin.PermissionInfo

public class PermissionInfo extends 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

    Constructors
    Constructor
    Description
    PermissionInfo(String encodedPermission)
    Constructs a PermissionInfo object from the specified encoded PermissionInfo string.
    PermissionInfo(String type, String name, String actions)
    Constructs a PermissionInfo from the specified type, name, and actions.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Determines the equality of two PermissionInfo objects.
    final String
    Returns the actions of the permission represented by this PermissionInfo.
    final String
    Returns the string encoding of this PermissionInfo in a form suitable for restoring this PermissionInfo.
    final String
    Returns the name of the permission represented by this PermissionInfo.
    final String
    Returns the fully qualified class name of the permission represented by this PermissionInfo.
    int
    Returns the hash code value for this object.
    Returns the string representation of this PermissionInfo.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • PermissionInfo

      public PermissionInfo(String type, String name, String actions)
      Constructs a PermissionInfo from the specified 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:
      NullPointerException - If type is null.
      IllegalArgumentException - If action is not null and name is null.
    • PermissionInfo

      public PermissionInfo(String encodedPermission)
      Constructs a PermissionInfo object from the specified encoded PermissionInfo string. White space in the encoded PermissionInfo string is ignored.
      Parameters:
      encodedPermission - The encoded PermissionInfo.
      Throws:
      IllegalArgumentException - If the specified encodedPermission is not properly formatted.
      See Also:
  • Method Details

    • getEncoded

      public final String getEncoded()
      Returns the string encoding of this PermissionInfo in a form suitable for restoring this PermissionInfo.

      The encoded format is:

       (type)
       
      or
       (type "name")
       
      or
       (type "name" "actions")
       
      where name and actions are strings that must be encoded for proper parsing. Specifically, the ",\, carriage return, and line feed characters must be escaped using \", \\, \r, and \n, respectively.

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

      Returns:
      The string encoding of this PermissionInfo.
    • toString

      public 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 Object
      Returns:
      The string representation of this PermissionInfo.
    • getType

      public final 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 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 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(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 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 Object
      Returns:
      A hash code value for this object.