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:

JuffrouBeanWrapper

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

BeanConverter

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.

ReflectionUtil

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.