ConditionInfo
Date: 2016-06-24

org.osgi.service.condpermadmin

## Class ConditionInfo

- java.lang.Object
- - org.osgi.service.condpermadmin.ConditionInfo

-     public class ConditionInfo
      extends java.lang.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 and Description
    `ConditionInfo(java.lang.String encodedCondition)` Constructs a `ConditionInfo` object from the specified encoded `ConditionInfo` string.
    `ConditionInfo(java.lang.String type, java.lang.String[] args)` Constructs a `ConditionInfo` from the specified type and args.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(java.lang.Object obj)` Determines the equality of two `ConditionInfo` objects.
    `java.lang.String[]` | `getArgs()` Returns arguments of this `ConditionInfo`.
    `java.lang.String` | `getEncoded()` Returns the string encoding of this `ConditionInfo` in a form suitable for restoring this `ConditionInfo`.
    `java.lang.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.
    `java.lang.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 Detail

    - #### ConditionInfo

          public ConditionInfo(java.lang.String type,
                       java.lang.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(java.lang.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 specified `encodedCondition` is not properly formatted.
      See Also:
        `getEncoded()`

  - ### Method Detail

    - #### getEncoded

          public final java.lang.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 java.lang.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 `java.lang.Object`
      Returns:
        The string representation of this `ConditionInfo`.

    - #### getType

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