org.osgi.service.condpermadmin

Class ConditionInfo

public class ConditionInfo extends Object

Condition representation used by the Conditional Permission Admin service.

This class encapsulates two pieces of information: a Condition type (class name), which must implement Condition, and the arguments passed to its constructor.

In order for a Condition represented by a ConditionInfo to be instantiated and considered during a permission check, its Condition class must be available from the system classpath.

The Condition class must either:

Version: $Revision: 1.13 $

Constructor Summary
ConditionInfo(String type, String[] args)
Constructs a ConditionInfo from the specified type and args.
ConditionInfo(String encodedCondition)
Constructs a ConditionInfo object from the specified encoded ConditionInfo string.
Method Summary
booleanequals(Object obj)
Determines the equality of two ConditionInfo objects.
String[]getArgs()
Returns arguments of this ConditionInfo.
StringgetEncoded()
Returns the string encoding of this ConditionInfo in a form suitable for restoring this ConditionInfo.
StringgetType()
Returns the fully qualified class name of the condition represented by this ConditionInfo.
inthashCode()
Returns the hash code value for this object.
StringtoString()
Returns the string representation of this ConditionInfo.

Constructor Detail

ConditionInfo

public ConditionInfo(String type, String[] args)
Constructs a ConditionInfo from the specified type and args.

Parameters: type The fully qualified class name of the Condition represented by this ConditionInfo. args The arguments for the Condition. These arguments are available to the newly created Condition by calling the getArgs method.

Throws: java.lang.NullPointerException If type is null.

ConditionInfo

public ConditionInfo(String encodedCondition)
Constructs a ConditionInfo object from the specified encoded ConditionInfo string. White space in the encoded ConditionInfo string is ignored.

Parameters: encodedCondition The encoded ConditionInfo.

Throws: java.lang.IllegalArgumentException If the encodedCondition is not properly formatted.

See Also: ConditionInfo

Method Detail

equals

public boolean equals(Object obj)
Determines the equality of two ConditionInfo objects. This method checks that specified object has the same type and args as this ConditionInfo object.

Parameters: obj The object to test for equality with this ConditionInfo object.

Returns: true if obj is a ConditionInfo, and has the same type and args as this ConditionInfo object; false otherwise.

getArgs

public final String[] getArgs()
Returns arguments of this ConditionInfo.

Returns: The arguments of this ConditionInfo. An empty array is returned if the ConditionInfo has no arguments.

getEncoded

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

The encoding format is:

   [type "arg0" "arg1" ...]
 
where argN 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 "arg0" and between the arguments.

Returns: The string encoding of this ConditionInfo.

getType

public final String getType()
Returns the fully qualified class name of the condition represented by this ConditionInfo.

Returns: The fully qualified class name of the condition represented by this ConditionInfo.

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 ConditionInfo. The string is created by calling the getEncoded method on this ConditionInfo.

Returns: The string representation of this ConditionInfo.