Class ReflectionUtil


  • public final class ReflectionUtil
    extends java.lang.Object
    • Constructor Detail

      • ReflectionUtil

        private ReflectionUtil()
    • Method Detail

      • isClassAvailable

        private static boolean isClassAvailable​(java.lang.String className)
      • findField

        public static java.lang.reflect.Field findField​(java.lang.Class typeClass,
                                                        java.lang.String propertyName,
                                                        java.lang.Object propertyValue,
                                                        java.util.Set<Option> options,
                                                        PropertyEditorRegistry registry)
      • findGetter

        public static java.lang.reflect.Method findGetter​(java.lang.Class typeClass,
                                                          java.lang.String propertyName,
                                                          java.util.Set<Option> options)
      • findSetter

        public static java.lang.reflect.Method findSetter​(java.lang.Class typeClass,
                                                          java.lang.String propertyName,
                                                          java.lang.Object propertyValue,
                                                          java.util.Set<Option> options,
                                                          PropertyEditorRegistry registry)
      • findAllSetters

        public static java.util.List<java.lang.reflect.Method> findAllSetters​(java.lang.Class typeClass,
                                                                              java.lang.String propertyName,
                                                                              java.lang.Object propertyValue,
                                                                              java.util.Set<Option> options,
                                                                              PropertyEditorRegistry registry)
        Finds all valid setters for the property. Due to automatic type conversion there may be more than one possible setter that could be used to set the property. The setters that do not require type converstion will be a the head of the returned list of setters.
        Parameters:
        typeClass - the class to search for setters
        propertyName - the name of the property
        propertyValue - the value that must be settable either directly or after conversion
        options - controls which setters are considered valid
        Returns:
        the valid setters; never null or empty
      • findAllFieldsByType

        public static java.util.List<java.lang.reflect.Field> findAllFieldsByType​(java.lang.Class typeClass,
                                                                                  java.lang.Object propertyValue,
                                                                                  java.util.Set<Option> options,
                                                                                  PropertyEditorRegistry registry)
      • findAllSettersByType

        public static java.util.List<java.lang.reflect.Method> findAllSettersByType​(java.lang.Class typeClass,
                                                                                    java.lang.Object propertyValue,
                                                                                    java.util.Set<Option> options,
                                                                                    PropertyEditorRegistry registry)
      • findConstructor

        public static ReflectionUtil.ConstructorFactory findConstructor​(java.lang.Class typeClass,
                                                                        java.util.List<? extends java.lang.Class<?>> parameterTypes,
                                                                        java.util.Set<Option> options)
      • findConstructor

        public static ReflectionUtil.ConstructorFactory findConstructor​(java.lang.Class typeClass,
                                                                        java.util.List<java.lang.String> parameterNames,
                                                                        java.util.List<? extends java.lang.Class<?>> parameterTypes,
                                                                        java.util.Set<java.lang.String> availableProperties,
                                                                        java.util.Set<Option> options)
      • findStaticFactory

        public static ReflectionUtil.StaticFactory findStaticFactory​(java.lang.Class typeClass,
                                                                     java.lang.String factoryMethod,
                                                                     java.util.List<? extends java.lang.Class<?>> parameterTypes,
                                                                     java.util.Set<Option> options)
      • findStaticFactory

        public static ReflectionUtil.StaticFactory findStaticFactory​(java.lang.Class typeClass,
                                                                     java.lang.String factoryMethod,
                                                                     java.util.List<java.lang.String> parameterNames,
                                                                     java.util.List<? extends java.lang.Class<?>> parameterTypes,
                                                                     java.util.Set<java.lang.String> allProperties,
                                                                     java.util.Set<Option> options)
      • findInstanceFactory

        public static java.lang.reflect.Method findInstanceFactory​(java.lang.Class typeClass,
                                                                   java.lang.String factoryMethod,
                                                                   java.util.Set<Option> options)
      • getParameterNames

        public static java.util.List<java.lang.String> getParameterNames​(java.lang.reflect.Constructor<?> constructor)
      • getParameterNames

        public static java.util.List<java.lang.String> getParameterNames​(java.lang.reflect.Method method)
      • setAccessible

        private static void setAccessible​(java.lang.reflect.AccessibleObject accessibleObject)
      • toParameterList

        private static java.lang.String toParameterList​(java.lang.Class<?>[] parameterTypes)
      • toParameterList

        private static java.lang.String toParameterList​(java.util.List<? extends java.lang.Class<?>> parameterTypes)