OSGi™ Service Platform
Core Specification

Release 4 Version 4.3

org.osgi.service.permissionadmin
Class PermissionInfo

java.lang.Object
  extended by 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.

Immutable

Constructor Summary
PermissionInfo(java.lang.String encodedPermission)
          Constructs a PermissionInfo object from the specified encoded PermissionInfo string.
PermissionInfo(java.lang.String type, java.lang.String name, java.lang.String actions)
          Constructs a PermissionInfo from the specified 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 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:
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 specified encoded PermissionInfo string. White space in the encoded PermissionInfo string is ignored.

Parameters:
encodedPermission - The encoded PermissionInfo.
Throws:
java.lang.IllegalArgumentException - If the specified 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 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 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.

OSGi™ Service Platform
Core Specification

Release 4 Version 4.3

Copyright © OSGi Alliance (2000, 2012). All Rights Reserved. Licensed under the OSGi Specification License, Version 2.0