org.osgi.service.permissionadmin

Class 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.

Version: $Revision: 1.16 $

Constructor Summary
PermissionInfo(String type, String name, String actions)
Constructs a PermissionInfo from the specified type, name, and actions.
PermissionInfo(String encodedPermission)
Constructs a PermissionInfo object from the specified encoded PermissionInfo string.
Method Summary
booleanequals(Object obj)
Determines the equality of two PermissionInfo objects.
StringgetActions()
Returns the actions of the permission represented by this PermissionInfo.
StringgetEncoded()
Returns the string encoding of this PermissionInfo in a form suitable for restoring this PermissionInfo.
StringgetName()
Returns the name of the permission represented by this PermissionInfo.
StringgetType()
Returns the fully qualified class name of the permission represented by this PermissionInfo.
inthashCode()
Returns the hash code value for this object.
StringtoString()
Returns the string representation of this PermissionInfo.

Constructor Detail

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: java.lang.NullPointerException if type is null. java.lang.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: java.lang.IllegalArgumentException If the encodedPermission is not properly formatted.

See Also: PermissionInfo

Method Detail

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.

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.

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.

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 are encoded for proper parsing. Specifically, the ",\, carriage return, and linefeed characters are 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.

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.

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.

hashCode

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

Returns: A hash code value for this object.

toString

public String toString()
Returns the string representation of this PermissionInfo. The string is created by calling the getEncoded method on this PermissionInfo.

Returns: The string representation of this PermissionInfo.