Package org.osgi.service.condpermadmin

# Class ConditionInfo

java.lang.Object
org.osgi.service.condpermadmin.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:

- Declare a public static `getCondition` method that takes a `Bundle` object and a `ConditionInfo` object as arguments. That method must return an object that implements the `Condition` interface.
- Implement the `Condition` interface and define a public constructor that takes a `Bundle` object and a `ConditionInfo` object as arguments.

## Constructor Summary

Constructors
Constructor
Description
`ConditionInfo(String encodedCondition)`
Constructs a `ConditionInfo` object from the specified encoded `ConditionInfo` string.
`ConditionInfo(String type, String[] args)`
Constructs a `ConditionInfo` from the specified type and args.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object obj)`
Determines the equality of two `ConditionInfo` objects.
`final String[]`
`getArgs()`
Returns arguments of this `ConditionInfo`.
`final String`
`getEncoded()`
Returns the string encoding of this `ConditionInfo` in a form suitable for restoring this `ConditionInfo`.
`final String`
`getType()`
Returns the fully qualified class name of the condition represented by this `ConditionInfo`.
`int`
`hashCode()`
Returns the hash code value for this object.
`String`
`toString()`
Returns the string representation of this `ConditionInfo`.

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

## Constructor Details

### 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:
  `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:
  `IllegalArgumentException` - If the specified `encodedCondition` is not properly formatted.
See Also:
  - `getEncoded()`

## Method Details

### getEncoded

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

The encoded format is:

       [type "arg0" "arg1" ...]

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

Returns:
  The string encoding of this `ConditionInfo`.

### toString

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

Overrides:
  `toString` in class `Object`
Returns:
  The string representation 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`.

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

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

Overrides:
  `equals` in class `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.

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