Class IBeanMetaInfoParser

    • Constructor Detail

      • IBeanMetaInfoParser

        public IBeanMetaInfoParser()
    • Method Detail

      • parse

        public <T> IBeanTypeMetaInfo<T> parse​(Class<T> beanType,
                                              BeanStyle beanStyle,
                                              List<Class<?>> ignorableSuperInterfaces)
                                       throws InvalidIBeanTypeException
        Validates if a given class matches all criteria for being an IBean interface and if that is the case then retrieves all relevant information about the all fields contained in the class. See IBeanFieldMetaInfo about what information is gathered for each field.

        A given type is a valid IBean interface if following criteria match:

        • The bean type contains no methods other setters and getters, with the exception of methods of some specifically excluded super interfaces.
        • All getters and setters match to the used BeanStyle.
        • Every getter method has a matching setter and vice versa.
        Type Parameters:
        T - generic type T is the bean class provided with parameter beanType
        Parameters:
        beanType - the IBean interface candidate to parse
        beanStyle - the bean style to use for parsing
        ignorableSuperInterfaces - a list of super interfaces of the provided beanType whose methods should be excluded from being considered as getters and setters. These interfaces are typically extension interfaces like Freezable.
        Returns:
        the meta information for the IBean interface
        Throws:
        InvalidIBeanTypeException - if the given beanType does not match the criteria for being a valid IBean interface