Package org.springframework.data.util
Class ReflectionUtils
java.lang.Object
org.springframework.data.util.ReflectionUtils
Spring Data specific reflection utility methods and classes.
- Since:
 - 1.5
 - Author:
 - Oliver Gierke, Thomas Darimont, Christoph Strobl, Mark Paluch, Johannes Englmeier
 
- 
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAReflectionUtils.FieldFilterfor a given annotation.static interfaceAReflectionUtils.FieldFilterthat has a description. - 
Method Summary
Modifier and TypeMethodDescriptionstatic <T> @Nullable Constructor<T>findConstructor(Class<T> type, Object... constructorArguments) Finds a constructor on the given type that matches the given constructor arguments.static @Nullable FieldfindField(Class<?> type, ReflectionUtils.DescribedFieldFilter filter) Finds the field matching the givenReflectionUtils.DescribedFieldFilter.static @Nullable FieldfindField(Class<?> type, ReflectionUtils.DescribedFieldFilter filter, boolean enforceUniqueness) Finds the field matching the givenReflectionUtils.DescribedFieldFilter.static @Nullable FieldfindField(Class<?> type, ReflectionUtils.FieldFilter filter) Finds the first field on the given class matching the givenReflectionUtils.FieldFilter.static @Nullable MethodfindMethod(Class<?> type, String name, ResolvableType... parameterTypes) Returns theMethodwith the given name and parameters declared on the given type, if available.static MethodfindRequiredMethod(Class<?> type, String name, Class<?>... parameterTypes) Deprecated.static intgetParameterCount(Method method, Predicate<Class<?>> predicate) static ObjectgetPrimitiveDefault(Class<?> type) Get default value for a primitive type.static FieldgetRequiredField(Class<?> type, String name) Obtains the required field of the given name on the given type or throwsIllegalArgumentExceptionif the found could not be found.static MethodgetRequiredMethod(Class<?> type, String name, Class<?>... parameterTypes) Returns the method with the given name of the given class and parameter types.static booleanhasParameterAssignableToType(Method method, Class<?> type) Returns whether the givenMethodhas a parameter that is assignable to the given type.static booleanhasParameterOfType(Method method, Class<?> type) Returns whether the givenMethodhas a parameter of the given type.static booleanisNullable(MethodParameter parameter) Returns whether the givenMethodParameteris nullable.static booleanreturnTypeAndParameters(Method method) static voidSets the given field on the given object to the given value. 
- 
Method Details
- 
hasParameterOfType
Returns whether the givenMethodhas a parameter of the given type.- Parameters:
 method- the method to check, must not be null.type- parameter type to query for, must not be null.- Returns:
 - true the given 
Methodhas a parameter of the given type. - Since:
 - 3.5
 
 - 
hasParameterAssignableToType
Returns whether the givenMethodhas a parameter that is assignable to the given type.- Parameters:
 method- the method to check, must not be null.type- parameter type to query for, must not be null.- Returns:
 - true the given 
Methodhas a parameter that is assignable to the given type. - Since:
 - 3.5
 
 - 
getParameterCount
 - 
isVoid
- Parameters:
 type- must not be null.- Returns:
 - whether the given the type is a void type.
 - Since:
 - 2.4
 
 - 
findField
Finds the first field on the given class matching the givenReflectionUtils.FieldFilter.- Parameters:
 type- must not be null.filter- must not be null.- Returns:
 - the field matching the filter or null in case no field could be found.
 
 - 
findField
Finds the field matching the givenReflectionUtils.DescribedFieldFilter. Will make sure there's only one field matching the filter.- Parameters:
 type- must not be null.filter- must not be null.- Returns:
 - the field matching the given 
ReflectionUtils.DescribedFieldFilteror null if none found. - Throws:
 IllegalStateException- in case more than one matching field is found- See Also:
 
 - 
findField
public static @Nullable Field findField(Class<?> type, ReflectionUtils.DescribedFieldFilter filter, boolean enforceUniqueness) Finds the field matching the givenReflectionUtils.DescribedFieldFilter. Will make sure there's only one field matching the filter in caseenforceUniquenessis true.- Parameters:
 type- must not be null.filter- must not be null.enforceUniqueness- whether to enforce uniqueness of the field- Returns:
 - the field matching the given 
ReflectionUtils.DescribedFieldFilteror null if none found. - Throws:
 IllegalStateException- if enforceUniqueness is true and more than one matching field is found
 - 
getRequiredField
Obtains the required field of the given name on the given type or throwsIllegalArgumentExceptionif the found could not be found.- Parameters:
 type- must not be null.name- must not be null or empty.- Returns:
 - the required field.
 - Throws:
 IllegalArgumentException- in case the field can't be found.
 - 
setField
Sets the given field on the given object to the given value. Will make sure the given field is accessible.- Parameters:
 field- must not be null.target- must not be null.value-
 - 
findConstructor
public static <T> @Nullable Constructor<T> findConstructor(Class<T> type, Object... constructorArguments) Finds a constructor on the given type that matches the given constructor arguments.- Parameters:
 type- must not be null.constructorArguments- must not be null.- Returns:
 - a 
Constructorthat is compatible with the given arguments. 
 - 
findRequiredMethod
@Deprecated public static Method findRequiredMethod(Class<?> type, String name, Class<?>... parameterTypes) Deprecated.since 3.5, usegetRequiredMethod(Class, String, Class[])instead.Returns the method with the given name of the given class and parameter types. Prefers regular methods overbridgeandsyntheticones.- Parameters:
 type- must not be null.name- must not be null.parameterTypes- must not be null.- Returns:
 - the method object.
 - Throws:
 IllegalArgumentException- in case the method cannot be resolved.
 - 
getRequiredMethod
Returns the method with the given name of the given class and parameter types. Prefers regular methods overbridgeandsyntheticones.- Parameters:
 type- must not be null.name- must not be null.parameterTypes- must not be null.- Returns:
 - the method object.
 - Throws:
 IllegalArgumentException- in case the method cannot be resolved.- Since:
 - 3.5
 
 - 
returnTypeAndParameters
- Parameters:
 method- must not be null.- Returns:
 - stream of return and parameter types.
 - Since:
 - 2.0
 
 - 
findMethod
public static @Nullable Method findMethod(Class<?> type, String name, ResolvableType... parameterTypes) Returns theMethodwith the given name and parameters declared on the given type, if available.- Parameters:
 type- must not be null.name- must not be null or empty.parameterTypes- must not be null.- Returns:
 - the required method.
 - Since:
 - 3.5
 
 - 
isNullable
Returns whether the givenMethodParameteris nullable. Nullable parameters are reference types and ones that are defined in Kotlin as such.- Returns:
 - true if 
MethodParameteris nullable. - Since:
 - 2.0
 
 - 
getPrimitiveDefault
Get default value for a primitive type.- Parameters:
 type- must not be null.- Returns:
 - boxed primitive default value.
 - Since:
 - 2.1
 
 
 - 
 
getRequiredMethod(Class, String, Class[])instead.