Class ReflectionUtils


  • public class ReflectionUtils
    extends Object
    Reflection specific utility functions
    Author:
    markr
    • Constructor Detail

      • ReflectionUtils

        public ReflectionUtils()
    • Method Detail

      • getParameterTypes

        public static Class<?>[] getParameterTypes​(Object[] parameters)
        Method that constructs the parameter types that go with the passed in parameters.
        Parameters:
        parameters - the parameters
        Returns:
        parameter class types
      • createTypedInstance

        public static <T> T createTypedInstance​(String className,
                                                Object... constructorParameters)
                                         throws PlanItException
        delegates to createInstance(String, Object...) only casts result to type provided
        Type Parameters:
        T - type of the created instance
        Parameters:
        className - of the class to be instantiated
        constructorParameters - parameters for constructor
        Returns:
        created instance
        Throws:
        PlanItException - when error occurs during instantiation
      • createInstance

        public static Object createInstance​(String className,
                                            Object... constructorParameters)
        Create an instance of given class name and provided constructor parameters
        Parameters:
        className - of the class to be instantiated
        constructorParameters - parameters for constructor
        Returns:
        created instance
      • declaredFieldsNameValueMap

        public static Map<String,​Object> declaredFieldsNameValueMap​(Object settingsClazzInstance,
                                                                          Function<Integer,​Boolean> modifierFilter)
        Collect all declared fields of instance in Map in name, value format
        Parameters:
        settingsClazzInstance - to collect from
        modifierFilter - applied to the fields of the class, when false we exclude the field, when true we keep it
        Returns:
        map with entries, or empty if none could be found or something went wrong
      • declaredFieldsToMap

        public static <K,​V> Map<K,​V> declaredFieldsToMap​(Object settingsClazzInstance,
                                                                     Function<Field,​K> keyFunction,
                                                                     BiFunction<Field,​Object,​V> valueFunction,
                                                                     Function<Integer,​Boolean> modifierFilter)
        Collect all declared fields of instance in Map based on functions passed in
        Type Parameters:
        K - key in result map
        V - value in result map
        Parameters:
        settingsClazzInstance - to collect from
        keyFunction - transforms field to key entry in map
        valueFunction - transforms field to value entry in map
        modifierFilter - applied to the fields of the class, when false we exclude the field, when true we keep it
        Returns:
        map with entries, or empty if none could be found or something went wrong