Class PropertySupport
java.lang.Object
org.assertj.core.util.introspection.PropertySupport
Utility methods for properties access.
- Author:
- Joel Costigliola, Alex Ruiz, Nicolas François, Florent Biville
-
Method Summary
Modifier and TypeMethodDescriptionstatic PropertySupport
instance()
Returns the singleton instance of this class.<T> T
propertyValue
(String propertyName, Class<T> clazz, Object target) Return the value of a simple property from a target object.<T> T
propertyValueOf
(String propertyName, Class<T> clazz, Object target) Returns the value of the given property name given target.static <T> T
propertyValueOf
(String propertyName, Object target, Class<T> clazz) Static variant ofpropertyValueOf(String, Class, Object)
for syntactic sugar.<T> List<T>
propertyValues
(String propertyName, Class<T> clazz, Iterable<?> target) propertyValues
(String fieldOrPropertyName, Iterable<?> target) boolean
publicGetterExistsFor
(String fieldName, Object actual)
-
Method Details
-
instance
Returns the singleton instance of this class.- Returns:
- the singleton instance of this class.
-
propertyValues
Returns a
containing the values of the given property name, from the elements of the givenList
. If the givenIterable
Iterable
is empty ornull
, this method will return an emptyList
. This method supports nested properties (e.g. "address.street.number").- Type Parameters:
T
- the type of the extracted elements.- Parameters:
propertyName
- the name of the property. It may be a nested property. It is left to the clients to validate fornull
or empty.clazz
- type of propertytarget
- the givenIterable
.- Returns:
- an
Iterable
containing the values of the given property name, from the elements of the givenIterable
. - Throws:
IntrospectionError
- if an element in the givenIterable
does not have a property with a matching name.
-
propertyValueOf
Static variant ofpropertyValueOf(String, Class, Object)
for syntactic sugar.- Type Parameters:
T
- the type of the extracted elements.- Parameters:
propertyName
- the name of the property. It may be a nested property. It is left to the clients to validate fornull
or empty.target
- the given objectclazz
- type of property- Returns:
- a the values of the given property name
- Throws:
IntrospectionError
- if the given target does not have a property with a matching name.
-
propertyValue
Return the value of a simple property from a target object.This only works for simple property, nested property are not supported ! use
propertyValueOf(String, Class, Object)
- Type Parameters:
T
- the type of the extracted value.- Parameters:
propertyName
- the name of the property. It may be a nested property. It is left to the clients to validate fornull
or empty.target
- the given objectclazz
- type of property- Returns:
- a the values of the given property name
- Throws:
IntrospectionError
- if the given target does not have a property with a matching name.
-
propertyValueOf
Returns the value of the given property name given target. If the given object isnull
, this method will return null.
This method supports nested properties (e.g. "address.street.number").- Type Parameters:
T
- the type of the extracted value.- Parameters:
propertyName
- the name of the property. It may be a nested property. It is left to the clients to validate fornull
or empty.clazz
- the class of property.target
- the given Object to extract property from.- Returns:
- the value of the given property name given target.
- Throws:
IntrospectionError
- if target object does not have a property with a matching name.IllegalArgumentException
- if propertyName is null.
-
propertyValues
Returns a
containing the values of the given property name, from the elements of the givenList
. If the givenIterable
Iterable
is empty ornull
, this method will return an emptyList
. This method supports nested properties (e.g. "address.street.number").- Parameters:
fieldOrPropertyName
- the name of the property. It may be a nested property. It is left to the clients to validate fornull
or empty.target
- the givenIterable
.- Returns:
- an
Iterable
containing the values of the given property name, from the elements of the givenIterable
. - Throws:
IntrospectionError
- if an element in the givenIterable
does not have a property with a matching name.
-
publicGetterExistsFor
-