Class BeanHelper


  • public final class BeanHelper
    extends java.lang.Object
    Helper class used to obtain property descriptors from annotated java beans whose values are set via reflection. This class was implemented to eliminate direct compile-time dependency with Introspector and other classes in the java.beans.* package. This is required to allow Android developers to use univocity-parsers. Android developers should add have openbeans-1.0.jar in their classpath to be able to use univocity-parsers. When available, the classes from package com.googlecode.openbeans.* will be used, otherwise the bean introspection classes classes from java.beans.* package will be loaded. If everything fails, then the parser will try to manipulate fields in annotated java beans directly, instead of using their getters and setters.
    • Field Detail

      • introspectorClass

        private static final java.lang.Class<?> introspectorClass
      • beanInfoMethod

        private static final java.lang.reflect.Method beanInfoMethod
      • propertyDescriptorMethod

        private static final java.lang.reflect.Method propertyDescriptorMethod
      • PROPERTY_WRITE_METHOD

        static java.lang.reflect.Method PROPERTY_WRITE_METHOD
      • PROPERTY_READ_METHOD

        static java.lang.reflect.Method PROPERTY_READ_METHOD
      • PROPERTY_NAME_METHOD

        static java.lang.reflect.Method PROPERTY_NAME_METHOD
      • descriptors

        private static final java.util.Map<java.lang.Class<?>,​java.lang.ref.WeakReference<PropertyWrapper[]>> descriptors
    • Constructor Detail

      • BeanHelper

        private BeanHelper()
    • Method Detail

      • getPropertyDescriptors

        public static PropertyWrapper[] getPropertyDescriptors​(java.lang.Class<?> beanClass)
        Returns the property descriptors of all properties available from a class
        Parameters:
        beanClass - the class whose property descriptors should be returned
        Returns:
        an array of all property descriptors of the given class. Might be empty.
      • findIntrospectorImplementationClass

        private static java.lang.Class<?> findIntrospectorImplementationClass()
      • getBeanInfoMethod

        private static java.lang.reflect.Method getBeanInfoMethod()
      • getMethod

        private static java.lang.reflect.Method getMethod​(java.lang.String methodName,
                                                          java.lang.reflect.Method method,
                                                          boolean fromComponentType)