Class ReflectionUtil


  • public class ReflectionUtil
    extends java.lang.Object
    • Constructor Summary

      Constructors 
      Constructor Description
      ReflectionUtil()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.reflect.Field getField​(java.lang.Class clazz, java.lang.String name)
      Get a field from a given class
      static <T> T getFieldValue​(java.lang.Object target, java.lang.String name)
      Get a field value from a given object
      static java.lang.reflect.Method getMethod​(java.lang.Object target, java.lang.String methodName, java.lang.Class... parameterTypes)
      Get target method
      static java.lang.reflect.Method getSetter​(java.lang.Object target, java.lang.String property, java.lang.Class<?> parameterType)
      Get setter method
      static <T> T getStaticFieldValue​(java.lang.Class<?> target, java.lang.String name)
      Get a field value from a given class
      static <T> T newInstance​(java.lang.String className)
      New target Object instance using the given Class name
      static <T> T newInstance​(java.util.function.Supplier<java.lang.reflect.Constructor<T>> constructorSupplier, java.lang.Object... args)
      New target Object instance using the given arguments
      static void setField​(java.lang.Object target, java.lang.reflect.Field field, java.lang.Object value)
      Set target Object field to a certain value
      static void setField​(java.lang.Object target, java.lang.String fieldName, java.lang.Object value)
      Set target Object field to a certain value
      static void setProperty​(java.lang.Object target, java.lang.String property, java.lang.Object parameter)
      Invoke setter method with the given parameter
      static void setStaticField​(java.lang.Class<?> target, java.lang.String fieldName, java.lang.Object value)
      Set target Class field to a certain value
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ReflectionUtil

        public ReflectionUtil()
    • Method Detail

      • getField

        public static java.lang.reflect.Field getField​(java.lang.Class clazz,
                                                       java.lang.String name)
        Get a field from a given class
        Parameters:
        clazz - clazz
        name - field name
        Returns:
        field object
      • getFieldValue

        public static <T> T getFieldValue​(java.lang.Object target,
                                          java.lang.String name)
        Get a field value from a given object
        Parameters:
        target - Object whose field is being read
        name - field name
        Returns:
        field object
      • getStaticFieldValue

        public static <T> T getStaticFieldValue​(java.lang.Class<?> target,
                                                java.lang.String name)
        Get a field value from a given class
        Parameters:
        target - Class whose field is being read
        name - field name
        Returns:
        field value
      • setField

        public static void setField​(java.lang.Object target,
                                    java.lang.reflect.Field field,
                                    java.lang.Object value)
        Set target Object field to a certain value
        Parameters:
        target - Object whose field is being set
        field - Object field to set
        value - the new value for the given field
      • setField

        public static void setField​(java.lang.Object target,
                                    java.lang.String fieldName,
                                    java.lang.Object value)
        Set target Object field to a certain value
        Parameters:
        target - Object whose field is being set
        fieldName - Object field naem to set
        value - the new value for the given field
      • setStaticField

        public static void setStaticField​(java.lang.Class<?> target,
                                          java.lang.String fieldName,
                                          java.lang.Object value)
        Set target Class field to a certain value
        Parameters:
        target - Class whose field is being set
        fieldName - Class field name to set
        value - the new value for the given field
      • newInstance

        public static <T> T newInstance​(java.util.function.Supplier<java.lang.reflect.Constructor<T>> constructorSupplier,
                                        java.lang.Object... args)
        New target Object instance using the given arguments
        Parameters:
        constructorSupplier - constructor supplier
        args - Constructor arguments
        Returns:
        new Object instance
      • newInstance

        public static <T> T newInstance​(java.lang.String className)
        New target Object instance using the given Class name
        Parameters:
        className - class name
        Returns:
        new Object instance
      • getSetter

        public static java.lang.reflect.Method getSetter​(java.lang.Object target,
                                                         java.lang.String property,
                                                         java.lang.Class<?> parameterType)
        Get setter method
        Parameters:
        target - target object
        property - property
        parameterType - setter parameter type
        Returns:
        setter method
      • getMethod

        public static java.lang.reflect.Method getMethod​(java.lang.Object target,
                                                         java.lang.String methodName,
                                                         java.lang.Class... parameterTypes)
        Get target method
        Parameters:
        target - target object
        methodName - method name
        parameterTypes - method parameter types
        Returns:
        return value
      • setProperty

        public static void setProperty​(java.lang.Object target,
                                       java.lang.String property,
                                       java.lang.Object parameter)
        Invoke setter method with the given parameter
        Parameters:
        target - target object
        property - property
        parameter - setter parameter