You're viewing an older version of Vaadin JavaDoc. Please see version 24.7.0 for the latest.
com.vaadin.flow.component.spreadsheet.framework.

Class ReflectTools

  • All Implemented Interfaces:

    Serializable

    public class ReflectTools
    extends Object
    implements Serializable

    An util class with helpers for reflection operations. Used internally by Vaadin and should not be used by application developers. Subject to change at any time.

    Since:

    6.2

    See Also:

    Serialized Form

    • Method Detail

      • findMethod

        public static Method findMethod​(Class<?> cls,
                                        String methodName,
                                        Class<?>... parameterTypes)
                                 throws ExceptionInInitializerError

        Locates the method in the given class. Returns null if the method is not found. Throws an ExceptionInInitializerError if there is a problem locating the method as this is mainly called from static blocks.

        Parameters:

        cls - Class that contains the method

        methodName - The name of the method

        parameterTypes - The parameter types for the method.

        Returns:

        A reference to the method

        Throws:

        ExceptionInInitializerError - Wraps any exception in an ExceptionInInitializerError so this method can be called from a static initializer.

      • getJavaFieldValue

        public static Object getJavaFieldValue​(Object object,
                                               Field field,
                                               Class<?> propertyType)
                                        throws IllegalArgumentException,
                                               IllegalAccessException,
                                               InvocationTargetException

        Returns the value of the java field that is assignable to the property type.

        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.

        Parameters:

        object - The object containing the field

        field - The field we want to get the value for

        propertyType - The type the field must be assignable to

        Returns:

        The value of the field in the object

        Throws:

        InvocationTargetException - If the value could not be retrieved

        IllegalAccessException - If the value could not be retrieved

        IllegalArgumentException - If the value could not be retrieved

      • convertPrimitiveType

        public static Class<?> convertPrimitiveType​(Class<?> type)

        Since:

        7.4

      • findCommonBaseType

        public static Class<?> findCommonBaseType​(Class<?> a,
                                                  Class<?> b)

        Finds the most specific class that both provided classes extend from.

        Parameters:

        a - one class to get the base type for, not null

        b - another class to get the base type for, not null

        Returns:

        the most specific base class, not null

        Since:

        8.0

      • createInstance

        public static <T> T createInstance​(Class<T> cls)

        Creates a instance of the given class with a no-arg constructor.

        Catches all exceptions which might occur and wraps them in a IllegalArgumentException with a descriptive error message hinting of what might be wrong with the class that could not be instantiated.

        Parameters:

        cls - the class to instantiate

        Returns:

        an instance of the class

        Since:

        8.1.1

      • getMethod

        public static Method getMethod​(Class<?> listenerClass)

        Returns the first non-synthetic method of the specified listenerClass, which must have single method in the source-code. This is needed, to remove the synthetic methods added if the class is instrumented.

        Parameters:

        listenerClass - The Class of the listener, which has a single method in the source code

        Returns:

        the first non-synthetic method

        Throws:

        IllegalStateException - if the specified class does not have found method

        Since:

        8.2