Juffrou-reflect is focused on reflection, bean introspection and manipulation through property names. These are the main classes and their key features.
Take a look at the javadocs to view the methods in detail:
The JuffrouBeanWrapper utility class is an alternative to spring's BeanWrapperImpl with a few extra goodies:
- possible to change the wrapped instance with another instance of the same type, which is more performant than creating a new BeanWapper around a different bean.
- possible to reset all bean properties to null, which is more performant than creating a new BeanWrapper around a class.
- setValue("prop1.prop2", value) works even if prop1 is null
- possible to retrieve the bean wrapper associated with a nested property (ie nested bean wrappers)
- possible to extend and re-use the metadata context of the bean wrapper - "I shall introspect this only once!"
- possible to intercept class instantiation when a nested bean is created
Utility class to convert between two beans
Given any two beans and a map that establishes which properties in bean 1 correspond to properties in bean 2, this class can be used to automatically obtain bean 1 from an instance of bean 2 and vice-versa.
Utility methods to provide information over generic types. When a generic class is extended we often need to know which types were used to typify it.