public class ReflectTools extends Object implements Serializable
Constructor and Description |
---|
ReflectTools() |
Modifier and Type | Method and Description |
---|---|
static Class<?> |
convertPrimitiveType(Class<?> type) |
static Method |
findMethod(Class<?> cls,
String methodName,
Class<?>... parameterTypes)
Locates the method in the given class.
|
static Object |
getJavaFieldValue(Object object,
Field field)
Returns the value of the java field.
|
static Object |
getJavaFieldValue(Object object,
Field field,
Class<?> propertyType)
Returns the value of the java field that is assignable to the property
type.
|
static void |
setJavaFieldValue(Object object,
Field field,
Object value)
Sets the value of a java field.
|
public static Method findMethod(Class<?> cls, String methodName, Class<?>... parameterTypes) throws ExceptionInInitializerError
cls
- Class that contains the methodmethodName
- The name of the methodparameterTypes
- The parameter types for the method.ExceptionInInitializerError
- Wraps any exception in an ExceptionInInitializerError
so this method can be called from a static initializer.public static Object getJavaFieldValue(Object object, Field field) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException
Uses getter if present, otherwise tries to access even private fields directly.
object
- The object containing the fieldfield
- The field we want to get the value forInvocationTargetException
- If the value could not be retrievedIllegalAccessException
- If the value could not be retrievedIllegalArgumentException
- If the value could not be retrievedpublic static Object getJavaFieldValue(Object object, Field field, Class<?> propertyType) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException
Uses getter if a getter for the correct return type is present, otherwise tries to access even private fields directly. If the java field is not assignable to the property type throws an IllegalArgumentException.
object
- The object containing the fieldfield
- The field we want to get the value forpropertyType
- The type the field must be assignable toInvocationTargetException
- If the value could not be retrievedIllegalAccessException
- If the value could not be retrievedIllegalArgumentException
- If the value could not be retrievedpublic static void setJavaFieldValue(Object object, Field field, Object value) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException
Uses setter if present, otherwise tries to access even private fields directly.
object
- The object containing the fieldfield
- The field we want to set the value forvalue
- The value to setIllegalAccessException
- If the value could not be assigned to the fieldIllegalArgumentException
- If the value could not be assigned to the fieldInvocationTargetException
- If the value could not be assigned to the fieldCopyright © 2019 Vaadin Ltd. All rights reserved.