public class CachedIBeanMetaInfoParser extends IBeanMetaInfoParser
IBeanMetaInfoParser using an internal cache to reuse
meta information once created with parse(Class, BeanStyle, List).
This is the default implementation of IBeanMetaInfoParser used by
IBean framework.
The internal cache is very simple and does not have a timeout or size limit assuming meta informations do not change over runtime and assuming a limited number of bean types.
| Constructor and Description |
|---|
CachedIBeanMetaInfoParser() |
| Modifier and Type | Method and 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.
|
public <T> IBeanTypeMetaInfo<T> parse(Class<T> beanType, BeanStyle beanStyle, List<Class<?>> ignorableSuperInterfaces)
IBeanMetaInfoParserIBeanFieldMetaInfo about what information is gathered for each
field.
A given type is a valid IBean interface if following criteria match:
BeanStyle.parse in class IBeanMetaInfoParserT - generic type T is the bean class provided with
parameter beanTypebeanType - the IBean interface candidate to parsebeanStyle - the bean style to use for parsingignorableSuperInterfaces - 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.