Class PropertySupport
java.lang.Object
org.assertj.core.util.introspection.PropertySupport
Utility methods for properties access.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final PropertySupport
private static final String
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic PropertySupport
instance()
Returns the singleton instance of this class.private boolean
isNestedProperty
(String propertyName) isNestedProperty("address.street"); // true isNestedProperty("address.street.name"); // true isNestedProperty("person"); // false isNestedProperty(".name"); // false isNestedProperty("person."); // false isNestedProperty("person.name."); // false isNestedProperty(".person.name"); // false isNestedProperty("."); // false isNestedProperty(""); // false
private String
nextPropertyNameFrom
(String propertyNameChain) private String
popPropertyNameFrom
(String propertyNameChain) <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<?> objects) just delegates topropertyValues(String, Class, Iterable)
with Class being Object.classboolean
publicGetterExistsFor
(String fieldName, Object actual) private <T> List
<T> simplePropertyValues
(String propertyName, Class<T> clazz, Iterable<?> target)
-
Field Details
-
SEPARATOR
- See Also:
-
INSTANCE
-
-
Constructor Details
-
PropertySupport
PropertySupport()
-
-
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").- 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 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.- 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.
-
simplePropertyValues
-
popPropertyNameFrom
-
nextPropertyNameFrom
-
isNestedProperty
isNestedProperty("address.street"); // true isNestedProperty("address.street.name"); // true isNestedProperty("person"); // false isNestedProperty(".name"); // false isNestedProperty("person."); // false isNestedProperty("person.name."); // false isNestedProperty(".person.name"); // false isNestedProperty("."); // false isNestedProperty(""); // false
-
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)
- 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 given object- 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").- 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
just delegates topropertyValues(String, Class, Iterable)
with Class being Object.class -
publicGetterExistsFor
-