Class PropertyBag

java.lang.Object
org.identityconnectors.test.common.PropertyBag

public final class PropertyBag extends Object
Encapsulates a read-only bag of properties, which can be accessed in a type-safe manner.

The simplest way to obtain a required (i.e., the property must be in the bag, otherwise an exception is thrown) property value is getProperty(String, Class). If the property is not a required one, the getProperty(String, Class, Object) method can be used, which also takes a default value which is returned when the property is not present in the bag.

  • Method Details

    • getProperty

      public <T> T getProperty(String name, Class<T> type)
      Gets the value of a required property in a type-safe manner. If no property exists with the given name, IllegalArgumentException is thrown.
      Type Parameters:
      T - the type of the property.
      Parameters:
      name - the name of the property.
      type - the Class representing the type of the property.
      Returns:
      the value of the property in bag; null if the value of the property was null.
      Throws:
      IllegalArgumentException - if no property with the given name name exists in the bag.
      ClassCastException - if the property exists, but is not of the specified type.
    • getProperty

      public <T> T getProperty(String name, Class<T> type, T def)
      Gets a property value, returning a default value when no property with the specified name exists in the bag.
      Type Parameters:
      T - the type of the property.
      Parameters:
      name - the name of the property.
      type - the Class representing the type of the property.
      def - the default value returned when no property with the specified name exists in the bag.
      Returns:
      the value of the property in bag or the default value; null if the value of the property was null.
      Throws:
      ClassCastException - if the property exists, but is not of the specified type.
    • getStringProperty

      public String getStringProperty(String name)
      Gets a required property value known to be of string type. The method expects that the value is an instance of String. It does not attempt to call Object.toString() on the value.
      Parameters:
      name - the name of the property.
      Returns:
      the value of the property in bag; null if the value of the property was null.
      Throws:
      IllegalArgumentException - if no property with the given name exists in the bag.
      ClassCastException - if the property exists, but is not an instance of String.
    • toString

      public String toString()
      Overrides:
      toString in class Object