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
    Determines the equality of two ConditionInfo objects.
    final String[]
    Returns arguments of this ConditionInfo.
    final String
    Returns the string encoding of this ConditionInfo in a form suitable for restoring this ConditionInfo.
    final String
    Returns the fully qualified class name of the condition represented by this ConditionInfo.
    int
    Returns the hash code value for this object.
    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:
  • 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.