org.assertj.core.groups
Class Properties<T>

java.lang.Object
  extended by 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 Summary
static Properties<Object> extractProperty(String propertyName)
          Creates a new Properties with given propertyName and Object as property type..
static
<T> Properties<T>
extractProperty(String propertyName, Class<T> propertyType)
          Creates a new Properties.
 List<T> from(Iterable<?> c)
          Extracts the values of the property (specified previously in extractProperty(String)) from the elements of the given Iterable.
 List<T> from(Object[] array)
          Extracts the values of the property (specified previously in extractProperty(String)) from the elements of the given array.
<U> Properties<U>
ofType(Class<U> propertyType)
          Specifies the target type of an instance that was previously created with extractProperty(String).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

extractProperty

public static <T> Properties<T> extractProperty(String propertyName,
                                                Class<T> propertyType)
Creates a new Properties.

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)
 

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.


Copyright © 2013–2015 AssertJ. All rights reserved.