Class Properties<T>

java.lang.Object
org.assertj.core.groups.Properties<T>

public class Properties<T> extends Object
Extracts the values of a specified property from the elements of a given Iterable or array.
Author:
Yvonne Wang, Mikhail Mazursky, Joel Costigliola, Florent Biville, Olivier Michallat
  • Method Details

    • extractProperty

      public static <T> Properties<T> extractProperty(String propertyName, Class<T> propertyType)
      Creates a new Properties.
      Type Parameters:
      T - the type of value to extract.
      Parameters:
      propertyName - the name of the property to be read from the elements of a Iterable. It may be a nested property (e.g. "address.street.number").
      propertyType - the type of property to extract
      Returns:
      the created Properties.
      Throws:
      NullPointerException - if the given property name is null.
      IllegalArgumentException - if the given property name is empty.
    • extractProperty

      public static Properties<Object> extractProperty(String propertyName)
      Creates a new Properties with given propertyName and Object as property type..
      Parameters:
      propertyName - the name of the property to be read from the elements of a Iterable. It may be a nested property (e.g. "address.street.number").
      Returns:
      the created Properties.
      Throws:
      NullPointerException - if the given property name is null.
      IllegalArgumentException - if the given property name is empty.
    • ofType

      public <U> Properties<U> ofType(Class<U> propertyType)
      Specifies the target type of an instance that was previously created with extractProperty(String).

      This is so that you can write:

       extractProperty("name").ofType(String.class).from(fellowshipOfTheRing);
      instead of:
       extractProperty("name", String.class).from(fellowshipOfTheRing);
      Type Parameters:
      U - the type of value to extract.
      Parameters:
      propertyType - the type of property to extract.
      Returns:
      a new Properties with the given type.
    • from

      public List<T> from(Iterable<?> c)
      Extracts the values of the property (specified previously in extractProperty(String)) from the elements of the given Iterable.
      Parameters:
      c - the given Iterable.
      Returns:
      the values of the previously specified property extracted from the given Iterable.
      Throws:
      IntrospectionError - if an element in the given Iterable does not have a property with a matching name.
    • from

      public List<T> from(Object[] array)
      Extracts the values of the property (specified previously in extractProperty(String)) from the elements of the given array.
      Parameters:
      array - the given array.
      Returns:
      the values of the previously specified property extracted from the given array.
      Throws:
      IntrospectionError - if an element in the given array does not have a property with a matching name.