Package org.coliper.ibean
Class IBeanMetaInfoParser
- java.lang.Object
-
- org.coliper.ibean.IBeanMetaInfoParser
-
- Direct Known Subclasses:
CachedIBeanMetaInfoParser
public class IBeanMetaInfoParser extends Object
Used for creating IBean relevant meta information for a given IBean interface. Seeparse(Class, BeanStyle, List)for details.
-
-
Constructor Summary
Constructors Constructor Description IBeanMetaInfoParser()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> IBeanTypeMetaInfo<T>parse(Class<T> beanType, BeanStyle beanStyle, List<Class<?>> ignorableSuperInterfaces)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.
-
-
-
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. SeeIBeanFieldMetaInfoabout 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 typeTis the bean class provided with parameterbeanType- Parameters:
beanType- the IBean interface candidate to parsebeanStyle- the bean style to use for parsingignorableSuperInterfaces- a list of super interfaces of the providedbeanTypewhose methods should be excluded from being considered as getters and setters. These interfaces are typically extension interfaces likeFreezable.- Returns:
- the meta information for the IBean interface
- Throws:
InvalidIBeanTypeException- if the givenbeanTypedoes not match the criteria for being a valid IBean interface
-
-